{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "7238ae8d-73dc-474b-9d36-92647cdc6030",
    "_execution_state": "idle",
    "_uuid": "691c624259cf2737f7e29c2fdbbc7f255e842eb2"
   },
   "source": [
    "#Stacked Regressions to predict House Prices \n",
    "\n",
    "\n",
    "##Serigne\n",
    "\n",
    "**July 2017**\n",
    "\n",
    "**If you use parts of this notebook in your scripts/notebooks, giving  some kind of credit would be very much appreciated :)  You can for instance link back to this notebook. Thanks!**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "735c5797-4457-4e16-b21f-7f0982f2f016",
    "_execution_state": "idle",
    "_uuid": "35143ae31bde76e140a55855b89e0d42b56160a3"
   },
   "source": [
    "This competition is very important to me as  it helped me to begin my journey on Kaggle few months ago. I've read  some great notebooks here. To name a few:\n",
    "\n",
    "1. [Comprehensive data exploration with Python][1] by **Pedro Marcelino**  : Great and very motivational data analysis\n",
    "\n",
    "2. [A study on Regression applied to the Ames dataset][2] by **Julien Cohen-Solal**  : Thorough features engeneering and deep dive into linear regression analysis  but really easy to follow for beginners.\n",
    "\n",
    "3. [Regularized Linear Models][3] by **Alexandru Papiu**  : Great Starter kernel on modelling and Cross-validation\n",
    "\n",
    "I can't recommend enough every beginner to go carefully through these kernels (and of course through many others great kernels) and get their first insights in data science and kaggle competitions.\n",
    "\n",
    "After that (and some basic pratices) you should be more confident to go through [this great script][7] by **Human Analog**  who did an impressive work on features engeneering. \n",
    "\n",
    "As the dataset is particularly handy, I  decided few days ago to get back in this competition and apply things I learnt so far, especially stacking models. For that purpose, we build two stacking classes  ( the simplest approach and a less simple one). \n",
    "\n",
    "As these classes are written for general purpose, you can easily adapt them and/or extend them for your regression problems. \n",
    "The overall approach is  hopefully concise and easy to follow.. \n",
    "\n",
    "The features engeneering is rather parsimonious (at least compared to some others great scripts) . It is pretty much :\n",
    "\n",
    "- **Imputing missing values**  by proceeding sequentially through the data\n",
    "\n",
    "- **Transforming** some numerical variables that seem really categorical\n",
    "\n",
    "- **Label Encoding** some categorical variables that may contain information in their ordering set\n",
    "\n",
    "-  [**Box Cox Transformation**][4] of skewed features (instead of log-transformation) : This gave me a **slightly better result** both on leaderboard and cross-validation.\n",
    "\n",
    "- ** Getting dummy variables** for categorical features. \n",
    "\n",
    "Then we choose many base models (mostly sklearn based models + sklearn API of  DMLC's [XGBoost][5] and Microsoft's [LightGBM][6]), cross-validate them on the data before stacking/ensembling them. The key here is to make the (linear) models robust to outliers. This improved the result both on LB and cross-validation. \n",
    "\n",
    "  [1]: https://www.kaggle.com/pmarcelino/comprehensive-data-exploration-with-python\n",
    "  [2]:https://www.kaggle.com/juliencs/a-study-on-regression-applied-to-the-ames-dataset\n",
    "  [3]: https://www.kaggle.com/apapiu/regularized-linear-models\n",
    "  [4]: http://onlinestatbook.com/2/transformations/box-cox.html\n",
    "  [5]: https://github.com/dmlc/xgboost\n",
    " [6]: https://github.com/Microsoft/LightGBM\n",
    " [7]: https://www.kaggle.com/humananalog/xgboost-lasso\n",
    "\n",
    "To my surprise, this does well on LB ( 0.11420 and top 4% the last time I tested it : **July 2, 2017** )\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "d006e9e6-e191-4918-b8c1-5730f1d08e77",
    "_uuid": "ae5d947988d70f9ccbea3345f396c8394e7b1e4b"
   },
   "source": [
    "**Hope that at the end of this notebook, stacking will be clear for those, like myself, who found the concept not so easy to grasp**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "_cell_guid": "2dbccbd6-138b-4f1b-9b23-fd60c7525c14",
    "_execution_state": "idle",
    "_uuid": "c9b1d5dff21d39260eb47af6fe7aac4bd03be233",
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "#import some necessary librairies\n",
    "\n",
    "import numpy as np # linear algebra\n",
    "import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n",
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt  # Matlab-style plotting\n",
    "import seaborn as sns\n",
    "color = sns.color_palette()\n",
    "sns.set_style('darkgrid')\n",
    "import warnings\n",
    "def ignore_warn(*args, **kwargs):\n",
    "    pass\n",
    "warnings.warn = ignore_warn #ignore annoying warning (from sklearn and seaborn)\n",
    "\n",
    "\n",
    "from scipy import stats\n",
    "from scipy.stats import norm, skew #for some statistics\n",
    "\n",
    "\n",
    "pd.set_option('display.float_format', lambda x: '{:.3f}'.format(x)) #Limiting floats output to 3 decimal points\n",
    "\n",
    "\n",
    "from subprocess import check_output\n",
    "# print(check_output([\"ls\", \"../input\"]).decode(\"utf8\")) #check the files available in the directory"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "_cell_guid": "59617b4b-d797-44ce-9142-05fbfd36aada",
    "_execution_state": "idle",
    "_uuid": "0e694d13459e3e200f6e2c6333c887cbad779ba9",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#Now let's import and put the train and test datasets in  pandas dataframe\n",
    "\n",
    "train = pd.read_csv('train.csv')\n",
    "test = pd.read_csv('test.csv')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "_cell_guid": "3678529f-9d76-4853-88c5-4b2d230a85b6",
    "_execution_state": "idle",
    "_uuid": "3a32f51460a02fbe7a9122db55a740eb378dda97",
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Id</th>\n",
       "      <th>MSSubClass</th>\n",
       "      <th>MSZoning</th>\n",
       "      <th>LotFrontage</th>\n",
       "      <th>LotArea</th>\n",
       "      <th>Street</th>\n",
       "      <th>Alley</th>\n",
       "      <th>LotShape</th>\n",
       "      <th>LandContour</th>\n",
       "      <th>Utilities</th>\n",
       "      <th>...</th>\n",
       "      <th>PoolArea</th>\n",
       "      <th>PoolQC</th>\n",
       "      <th>Fence</th>\n",
       "      <th>MiscFeature</th>\n",
       "      <th>MiscVal</th>\n",
       "      <th>MoSold</th>\n",
       "      <th>YrSold</th>\n",
       "      <th>SaleType</th>\n",
       "      <th>SaleCondition</th>\n",
       "      <th>SalePrice</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>60</td>\n",
       "      <td>RL</td>\n",
       "      <td>65.000</td>\n",
       "      <td>8450</td>\n",
       "      <td>Pave</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Reg</td>\n",
       "      <td>Lvl</td>\n",
       "      <td>AllPub</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>2008</td>\n",
       "      <td>WD</td>\n",
       "      <td>Normal</td>\n",
       "      <td>208500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>20</td>\n",
       "      <td>RL</td>\n",
       "      <td>80.000</td>\n",
       "      <td>9600</td>\n",
       "      <td>Pave</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Reg</td>\n",
       "      <td>Lvl</td>\n",
       "      <td>AllPub</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>2007</td>\n",
       "      <td>WD</td>\n",
       "      <td>Normal</td>\n",
       "      <td>181500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>60</td>\n",
       "      <td>RL</td>\n",
       "      <td>68.000</td>\n",
       "      <td>11250</td>\n",
       "      <td>Pave</td>\n",
       "      <td>NaN</td>\n",
       "      <td>IR1</td>\n",
       "      <td>Lvl</td>\n",
       "      <td>AllPub</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>9</td>\n",
       "      <td>2008</td>\n",
       "      <td>WD</td>\n",
       "      <td>Normal</td>\n",
       "      <td>223500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>70</td>\n",
       "      <td>RL</td>\n",
       "      <td>60.000</td>\n",
       "      <td>9550</td>\n",
       "      <td>Pave</td>\n",
       "      <td>NaN</td>\n",
       "      <td>IR1</td>\n",
       "      <td>Lvl</td>\n",
       "      <td>AllPub</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>2006</td>\n",
       "      <td>WD</td>\n",
       "      <td>Abnorml</td>\n",
       "      <td>140000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>60</td>\n",
       "      <td>RL</td>\n",
       "      <td>84.000</td>\n",
       "      <td>14260</td>\n",
       "      <td>Pave</td>\n",
       "      <td>NaN</td>\n",
       "      <td>IR1</td>\n",
       "      <td>Lvl</td>\n",
       "      <td>AllPub</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "      <td>2008</td>\n",
       "      <td>WD</td>\n",
       "      <td>Normal</td>\n",
       "      <td>250000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 81 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   Id  MSSubClass MSZoning  LotFrontage  LotArea Street Alley LotShape  \\\n",
       "0   1          60       RL       65.000     8450   Pave   NaN      Reg   \n",
       "1   2          20       RL       80.000     9600   Pave   NaN      Reg   \n",
       "2   3          60       RL       68.000    11250   Pave   NaN      IR1   \n",
       "3   4          70       RL       60.000     9550   Pave   NaN      IR1   \n",
       "4   5          60       RL       84.000    14260   Pave   NaN      IR1   \n",
       "\n",
       "  LandContour Utilities    ...     PoolArea PoolQC Fence MiscFeature MiscVal  \\\n",
       "0         Lvl    AllPub    ...            0    NaN   NaN         NaN       0   \n",
       "1         Lvl    AllPub    ...            0    NaN   NaN         NaN       0   \n",
       "2         Lvl    AllPub    ...            0    NaN   NaN         NaN       0   \n",
       "3         Lvl    AllPub    ...            0    NaN   NaN         NaN       0   \n",
       "4         Lvl    AllPub    ...            0    NaN   NaN         NaN       0   \n",
       "\n",
       "  MoSold YrSold  SaleType  SaleCondition  SalePrice  \n",
       "0      2   2008        WD         Normal     208500  \n",
       "1      5   2007        WD         Normal     181500  \n",
       "2      9   2008        WD         Normal     223500  \n",
       "3      2   2006        WD        Abnorml     140000  \n",
       "4     12   2008        WD         Normal     250000  \n",
       "\n",
       "[5 rows x 81 columns]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "##display the first five rows of the train dataset.\n",
    "train.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "_cell_guid": "ff37c1ba-8679-49e0-b3c8-9c53d01b1b04",
    "_execution_state": "idle",
    "_uuid": "816b1463b3dd0daf44949a1fa15ebfbc0e2f1235",
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Id</th>\n",
       "      <th>MSSubClass</th>\n",
       "      <th>MSZoning</th>\n",
       "      <th>LotFrontage</th>\n",
       "      <th>LotArea</th>\n",
       "      <th>Street</th>\n",
       "      <th>Alley</th>\n",
       "      <th>LotShape</th>\n",
       "      <th>LandContour</th>\n",
       "      <th>Utilities</th>\n",
       "      <th>...</th>\n",
       "      <th>ScreenPorch</th>\n",
       "      <th>PoolArea</th>\n",
       "      <th>PoolQC</th>\n",
       "      <th>Fence</th>\n",
       "      <th>MiscFeature</th>\n",
       "      <th>MiscVal</th>\n",
       "      <th>MoSold</th>\n",
       "      <th>YrSold</th>\n",
       "      <th>SaleType</th>\n",
       "      <th>SaleCondition</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1461</td>\n",
       "      <td>20</td>\n",
       "      <td>RH</td>\n",
       "      <td>80.000</td>\n",
       "      <td>11622</td>\n",
       "      <td>Pave</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Reg</td>\n",
       "      <td>Lvl</td>\n",
       "      <td>AllPub</td>\n",
       "      <td>...</td>\n",
       "      <td>120</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>MnPrv</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>2010</td>\n",
       "      <td>WD</td>\n",
       "      <td>Normal</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1462</td>\n",
       "      <td>20</td>\n",
       "      <td>RL</td>\n",
       "      <td>81.000</td>\n",
       "      <td>14267</td>\n",
       "      <td>Pave</td>\n",
       "      <td>NaN</td>\n",
       "      <td>IR1</td>\n",
       "      <td>Lvl</td>\n",
       "      <td>AllPub</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Gar2</td>\n",
       "      <td>12500</td>\n",
       "      <td>6</td>\n",
       "      <td>2010</td>\n",
       "      <td>WD</td>\n",
       "      <td>Normal</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1463</td>\n",
       "      <td>60</td>\n",
       "      <td>RL</td>\n",
       "      <td>74.000</td>\n",
       "      <td>13830</td>\n",
       "      <td>Pave</td>\n",
       "      <td>NaN</td>\n",
       "      <td>IR1</td>\n",
       "      <td>Lvl</td>\n",
       "      <td>AllPub</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>MnPrv</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>2010</td>\n",
       "      <td>WD</td>\n",
       "      <td>Normal</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1464</td>\n",
       "      <td>60</td>\n",
       "      <td>RL</td>\n",
       "      <td>78.000</td>\n",
       "      <td>9978</td>\n",
       "      <td>Pave</td>\n",
       "      <td>NaN</td>\n",
       "      <td>IR1</td>\n",
       "      <td>Lvl</td>\n",
       "      <td>AllPub</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>2010</td>\n",
       "      <td>WD</td>\n",
       "      <td>Normal</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1465</td>\n",
       "      <td>120</td>\n",
       "      <td>RL</td>\n",
       "      <td>43.000</td>\n",
       "      <td>5005</td>\n",
       "      <td>Pave</td>\n",
       "      <td>NaN</td>\n",
       "      <td>IR1</td>\n",
       "      <td>HLS</td>\n",
       "      <td>AllPub</td>\n",
       "      <td>...</td>\n",
       "      <td>144</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2010</td>\n",
       "      <td>WD</td>\n",
       "      <td>Normal</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 80 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     Id  MSSubClass MSZoning  LotFrontage  LotArea Street Alley LotShape  \\\n",
       "0  1461          20       RH       80.000    11622   Pave   NaN      Reg   \n",
       "1  1462          20       RL       81.000    14267   Pave   NaN      IR1   \n",
       "2  1463          60       RL       74.000    13830   Pave   NaN      IR1   \n",
       "3  1464          60       RL       78.000     9978   Pave   NaN      IR1   \n",
       "4  1465         120       RL       43.000     5005   Pave   NaN      IR1   \n",
       "\n",
       "  LandContour Utilities      ...       ScreenPorch PoolArea PoolQC  Fence  \\\n",
       "0         Lvl    AllPub      ...               120        0    NaN  MnPrv   \n",
       "1         Lvl    AllPub      ...                 0        0    NaN    NaN   \n",
       "2         Lvl    AllPub      ...                 0        0    NaN  MnPrv   \n",
       "3         Lvl    AllPub      ...                 0        0    NaN    NaN   \n",
       "4         HLS    AllPub      ...               144        0    NaN    NaN   \n",
       "\n",
       "  MiscFeature MiscVal MoSold  YrSold  SaleType  SaleCondition  \n",
       "0         NaN       0      6    2010        WD         Normal  \n",
       "1        Gar2   12500      6    2010        WD         Normal  \n",
       "2         NaN       0      3    2010        WD         Normal  \n",
       "3         NaN       0      6    2010        WD         Normal  \n",
       "4         NaN       0      1    2010        WD         Normal  \n",
       "\n",
       "[5 rows x 80 columns]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "##display the first five rows of the test dataset.\n",
    "test.head(5)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "_cell_guid": "b24451a1-fb8c-4094-ad0b-0940469d07fc",
    "_execution_state": "idle",
    "_uuid": "687813c270cbfdedccc7a9e4ec9fbb78a99d54ed",
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The train data size before dropping Id feature is : (1460, 81) \n",
      "The test data size before dropping Id feature is : (1459, 80) \n",
      "\n",
      "The train data size after dropping Id feature is : (1460, 80) \n",
      "The test data size after dropping Id feature is : (1459, 79) \n"
     ]
    }
   ],
   "source": [
    "#check the numbers of samples and features\n",
    "print(\"The train data size before dropping Id feature is : {} \".format(train.shape))\n",
    "print(\"The test data size before dropping Id feature is : {} \".format(test.shape))\n",
    "\n",
    "#Save the 'Id' column\n",
    "train_ID = train['Id']\n",
    "test_ID = test['Id']\n",
    "\n",
    "#Now drop the  'Id' colum since it's unnecessary for  the prediction process.\n",
    "train.drop(\"Id\", axis = 1, inplace = True)\n",
    "test.drop(\"Id\", axis = 1, inplace = True)\n",
    "\n",
    "#check again the data size after dropping the 'Id' variable\n",
    "print(\"\\nThe train data size after dropping Id feature is : {} \".format(train.shape)) \n",
    "print(\"The test data size after dropping Id feature is : {} \".format(test.shape))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "7d5829c4-b2f1-4ef3-8b02-11f02eb7aabf",
    "_execution_state": "idle",
    "_uuid": "228cb602f1c7a47d3c5250514cab57f7e7bc75e5"
   },
   "source": [
    "#Data Processing"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "993f8fc0-1f5a-4432-80bc-6024b7bbc855",
    "_execution_state": "idle",
    "_uuid": "21bab04b0e0a451c912695d9238bf8304fc009d4"
   },
   "source": [
    "##Outliers"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "2b19b08e-b8bf-44b0-b83d-ee3efd0b833e",
    "_execution_state": "idle",
    "_uuid": "70fc7612c38957f7418d03a409ff8bae21d522a9"
   },
   "source": [
    "[Documentation][1] for the Ames Housing Data indicates that there are outliers present in the training data\n",
    "[1]: http://ww2.amstat.org/publications/jse/v19n3/Decock/DataDocumentation.txt"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "465043f2-d687-4b1f-a6b4-1036859dfeb0",
    "_execution_state": "idle",
    "_uuid": "32b12bca723c5e867f7d7a7e179ff934a5fcdf30"
   },
   "source": [
    "Let's explore these outliers\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "_cell_guid": "637bd0fd-7508-41d1-b240-ea0e8598dddf",
    "_execution_state": "idle",
    "_uuid": "8903aa1a4a700aa2160edb3baf806f3800ae7d9a",
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nJCQkcOrUKffjkVLPzpAg041dd911lJeXA1BaWkpGRgapqalUVFRQV1eHzWbjyJEjpKSkkJaWxvbt\n293npqend2XRvTp58iQPPPAA8+bN4+677wYir55vvvkmL774IgA9evRAURRuuOGGiKrjq6++yiuv\nvMKaNWsYOnQoy5YtIzMzM6LqCPD666+7txOprq7GbrczevToiKtnZ8iK/27mq6++4je/+Q0lJSV8\n/vnnLFq0iIaGBpKTk1m8eDF6vZ6SkhJee+01VFXlkUceISsri4sXL5KTk8OJEycwGo0UFBTQu3fv\nrq5OG4sXL2bz5s0kJye7jz3++OMsXrw4Yup54cIFFixYwMmTJ2lsbOThhx9m8ODBEfddukyZMoUn\nn3wSnU4XcXWsr69nwYIFVFVVoSgKc+fO5bLLLou4enaGBBkhhBCake4yIYQQmpEgI4QQQjMSZIQQ\nQmhGgowQQgjNSJARQgihGQkyQgTo0KFDzJ49G6vVyo033sgtt9xCbm4uZ86c8Xj+G2+8wcSJEz0+\n9o9//INx48b5/d7r16/nmmuuYdOmTR0quxChJkFGiADs2bOHSZMmMXjwYN555x3+9a9/8corr1Bb\nW8uDDz5IoCsCMjIy+OCDD/w+v6SkhLvvvptXX3010KIL0SUkyAgRgPz8fO6//35mzpxJr169UBSF\nAQMGsGTJEkaPHs358+cZN24cixYtYuTIkeTl5fl8vfLyckaOHInT6eSWW25h27Zt7sc++ugjrFYr\nDocDaErGePToURYsWMChQ4c4ePBgi9e5/fbbefjhhxkxYgTl5eWcPXuWefPmMWrUKMaNG8eqVavc\nQfDMmTPMmTOHcePGMWzYMMaPH09FRUXwPzAR9STICOGnqqoq9u/f705305zRaGTOnDn06tXLfe72\n7duZN2+eX6+t0+kYP34877zzjvvYxo0bGT9+PHq9HoDXXnuNCRMmEBcXx5133skrr7zS4jU+++wz\nfvzjH7N9+3bS09P57W9/i6IobN26lT//+c+89dZbvPHGGwAsX74cgE2bNvHxxx+Tnp5OQUFB4B+K\nEO2QICOEn7799lsA+vTp4z5WUFBARkYGGRkZDBs2jDfffBNoypgdGxvr3szKHxMmTGDr1q3U1dVR\nX1/Pe++9x5133gnAxYsXefvtt7n33nsBmDRpEm+//Tbnzp1zP98VqHr06MGZM2coLS1lwYIF9OzZ\nkyuvvJIHH3yQ9evXAzB79mzy8/PR6/Xu7Qaqq6s79wEJ4YHsjCmEny6//HIATpw4wfe//30A5syZ\nw5w5cwCYOHEiTqcTgO9973sBv/7VV1/NoEGD2LZtG3q9nn79+nHttdcCsHnzZmw2G/fff7/7/Nra\nWl5//XUefPBBAOLj44mJiQGaMlmrqsptt93mPt/pdJKQkAA0BcwlS5Zw5MgRd/ZgyTAltCBBRgg/\nDRgwgJSUFDZs2MBjjz3m81zXfiKBuvPOO/nb3/6GTqdzt2KgacB/7ty5LY5t2rSJP//5z/y///f/\n2rxO7969MRgMlJWVuQPPuXPn3Gnlf/Ob33Dffffx6quvoigKb775JocPH+5QmYXwRbrLhAjAU089\nxZ/+9CdWrlzJyZMngabM2E8//TSHDh1yt3Zaa2xs5Pjx4y3+u3jxYpvzxo8fT1lZGR9++CF33HEH\nAIcPH+bf//43EydOpHfv3u7/Jk6cyIkTJ1pMFnDp168f6enpLF++nNraWs6ePctjjz3Gs88+C4Dd\nbndvM3DkyBH+7//+j4aGhiB9SkJ8R4KMEAG48cYb2bBhA19//TUTJ07kxhtvZNKkSZw8eZJ169Zx\nyy23eHzeoUOHuOWWW1r89/bbb7c5LzExkeHDh3PDDTe4x35KSkq4+eabSUxMbHGuxWLh1ltv9Tqd\nubCwkFOnTjFu3DiysrK44oor3LPdfve737F69WrS0tKYOXMmEyZM4MyZM17X+gjRUZLqXwghhGak\nJSOEEEIzEmSEEEJoRoKMEEIIzUiQEUIIoRkJMkIIITQjQUYIIYRmJMgIIYTQjAQZIYQQmpEgI4QQ\nQjP/H1+4ub3vN4qeAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1a16e4ffd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "fig, ax = plt.subplots()\n",
    "ax.scatter(x = train['GrLivArea'], y = train['SalePrice'])\n",
    "plt.ylabel('SalePrice', fontsize=13)\n",
    "plt.xlabel('GrLivArea', fontsize=13)\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "30304b82-5846-4142-bc31-b629158fb040",
    "_execution_state": "idle",
    "_uuid": "edf186dc5169e450392ee8f809cc3de5d10d7dbd"
   },
   "source": [
    "We can see at the bottom right two with extremely large GrLivArea that are of a low price. These values are huge oultliers.\n",
    "Therefore, we can safely delete them."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "_cell_guid": "6c5780b2-d4a8-42d9-b902-c6a23eef7d99",
    "_execution_state": "idle",
    "_uuid": "583bb417102d7bebb4aaf14bcb1aebcae86443bb",
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nxTQzHNrSAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x110d46550>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Deleting outliers\n",
    "train = train.drop(train[(train['GrLivArea']>4000) & (train['SalePrice']<300000)].index)\n",
    "\n",
    "#Check the graphic again\n",
    "fig, ax = plt.subplots()\n",
    "ax.scatter(train['GrLivArea'], train['SalePrice'])\n",
    "plt.ylabel('SalePrice', fontsize=13)\n",
    "plt.xlabel('GrLivArea', fontsize=13)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "e24be1ff-e186-4d0f-9ba1-64195c0eec4d",
    "_execution_state": "idle",
    "_uuid": "0f186c5806f14de1e9ea46ece78a4bed2a6830a7"
   },
   "source": [
    "###Note : \n",
    " Outliers removal is note always safe.  We decided to delete these two as they are very huge and  really  bad ( extremely large areas for very low  prices). \n",
    "\n",
    "There are probably others outliers in the training data.   However, removing all them  may affect badly our models if ever there were also  outliers  in the test data. That's why , instead of removing them all, we will just manage to make some of our  models robust on them. You can refer to  the modelling part of this notebook for that. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "f4dcb348-634e-4010-b0a1-27976a1d8353",
    "_execution_state": "idle",
    "_uuid": "886ad7c816f4c1fd9afda53b10990baf987e86d8"
   },
   "source": [
    "##Target Variable"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "658f5b56-5830-486c-81a0-8514fb95e274",
    "_execution_state": "idle",
    "_uuid": "4b96a6a35983d1c765c11c929bcd32effd105b43"
   },
   "source": [
    "**SalePrice** is the variable we need to predict. So let's do some analysis on this variable first."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "_cell_guid": "a17ad845-6fca-4d47-8e44-7c4c44f0427d",
    "_execution_state": "idle",
    "_uuid": "be3b0157031685ed3dbc31a657ba712312691830",
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      " mu = 180932.92 and sigma = 79467.79\n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nIAiCU/0/dzB9ShKXYbgAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1a235a6250>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZYAAAESCAYAAADe2fNYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XtcVHX+x/HXYYaZQcAl1LRELctLWWiI2gUty9JMW01K\nwctqmkalSWqY16ywsNAtXdTNS4qIt1HTrDbT1LwstnjX1X66peI9BeXOMHN+fxAj6MAMOsxw+Twf\nj31sHM7M+QyP3Xn3/X4/53sUVVVVhBBCCCfxcHcBQgghqhYJFiGEEE4lwSKEEMKpJFiEEEI4lQSL\nEEIIp5JgEUII4VQSLKLaSUlJ4YEHHuCvf/2r9T8vvvgiq1atKvN79e/fn++//75Mr5k5cyYffPCB\nzd+99tprHD9+nKSkJLp16wbA559/ztq1awGYNWsWP/74o8PXsvdZV69ezbBhw+y+z4QJEzh06JDD\n1xXVm9bdBQjhDgaDga+//tr684ULF+jWrRsPPfQQzZs3d1tdX375JQCXL1+2Hnv77bet/5yUlMT9\n999fpvcs7bM6aufOnfTu3btM1xXVl4xYhADq1q1Lo0aN+P3331m9ejXh4eH07NmT/v37A/CPf/yD\nrl270r17d0aMGMGlS5esr924cSMvvfQSXbt2Zfbs2dbjc+bMITQ0lO7du9OpUyc2btxo/d2JEyfo\n27cv3bp1Y8yYMWRkZADw9NNPc/DgwWK1jR07lvnz55OQkMChQ4eYNm0a69ato02bNvz222/W8wYN\nGuTQaKboZy3q/PnzvP7663Tv3p1u3boxb948AGbMmMHFixcZPXo0+/fvd/AvKqozCRYhgL1793Lq\n1ClatmwJwPHjx4mPjyc+Ph6j0cjPP//MqlWrWL9+PU2aNGHs2LHW12ZmZrJixQpWrFjBunXr2Lp1\nK2fOnGHnzp0sWbKE9evXExkZyRdffGF9zalTp5g5cybr169HVdVigVSSvn378tBDD/Huu+/y4osv\n0qNHD1auXGl9v99++42OHTuW+bMWGj16NO3atWP9+vUkJiaybt06NmzYQGRkJHfeeSefffbZTa8R\nwhaZChPVUk5ODn/9618BMJvN3HHHHXz66afcddddADRr1gwfHx8Atm3bxksvvUSNGjUAGDBgAHPm\nzCEvLw+A0NBQtFotPj4+dO7cmZ07d/Lkk08SExPD+vXrOXnyJPv37yczM9N6/WeffRZ/f38AevXq\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1a235a6510>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.distplot(train['SalePrice'] , fit=norm);\n",
    "\n",
    "# Get the fitted parameters used by the function\n",
    "(mu, sigma) = norm.fit(train['SalePrice'])\n",
    "print( '\\n mu = {:.2f} and sigma = {:.2f}\\n'.format(mu, sigma))\n",
    "\n",
    "#Now plot the distribution\n",
    "plt.legend(['Normal dist. ($\\mu=$ {:.2f} and $\\sigma=$ {:.2f} )'.format(mu, sigma)],\n",
    "            loc='best')\n",
    "plt.ylabel('Frequency')\n",
    "plt.title('SalePrice distribution')\n",
    "\n",
    "#Get also the QQ-plot\n",
    "fig = plt.figure()\n",
    "res = stats.probplot(train['SalePrice'], plot=plt)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "313a535c-86c4-4db5-96de-6f65bc4adc2f",
    "_execution_state": "idle",
    "_uuid": "1da2d9831ae6c94b3f6304185f02896a9ee40aa5"
   },
   "source": [
    "The target variable is right skewed.  As (linear) models love normally distributed data , we need to transform this variable and make it more normally distributed."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "8df72eef-77de-4a71-aa6a-4b91784a7232",
    "_execution_state": "idle",
    "_uuid": "421775277fdab4e5a05f74aa4ea92e712a743928"
   },
   "source": [
    " **Log-transformation of the target variable**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "_cell_guid": "21b3a0ad-bd68-49aa-a3d7-40a30b3c59dc",
    "_execution_state": "idle",
    "_uuid": "719cf6a9dca56cc529e97af21816d291fa8bd8c0",
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      " mu = 12.02 and sigma = 0.40\n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYkAAAESCAYAAAAIfCk9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4lFXax/HvlEx6rxBaEhJaaKEGCBACCgoiKoIFXCsW\n1oauddFFiu113VWx7lqwAIsoHSQQSAKhEyB0QggtpNdJmUx5/4iMxBQGyGRS7s915dJ52vwmYeae\nc57znEdhMplMCCGEELVQ2jqAEEKIpkuKhBBCiDpJkRBCCFEnKRJCCCHqJEVCCCFEnaRICCGEqJMU\nCWF1ycnJTJs2jQkTJjB+/HgeeeQRTp48edX9Xn75Zf7zn//Uu8358+fp1q0bEydONP/cdtttLFu2\nrNbtN23axNy5c6/rdVzNjBkzWL58OQATJ06kqKiozm2Li4uZPn16nesv7798+XJmzJhxzVk+/vhj\nYmNjAfjXv/7Fr7/+es3HEAJAbesAomXT6XTMmDGD//73v/To0QOAFStW8Oijj7Jp0yZUKtUNP4eD\ngwMrVqwwP87MzGT8+PGEh4fTtWvXatvGxMQQExNzw895NVfmqU1hYSGHDh267v2vZufOnXTu3BmA\nZ5555oaOJVo3KRLCqsrKyiguLqa0tNS87LbbbsPFxQWDwYBCoWD+/PkcOHAArVaLyWRi7ty59OvX\nr9pxUlNTmTdvHgUFBRgMBqZNm8Zdd91V63P6+/vTsWNHzpw5w5EjR1i2bBllZWW4uLgwadIkNmzY\nwOeff052djZvvPEGp0+fRqlUMnXqVKZPn05xcTHz5s3jxIkTVFZWEhkZyd/+9jfU6upvl8zMTF5+\n+WWysrJo27Ytubm55nVdunQhKSkJg8HASy+9RH5+PgAjRozg2Wef5ZVXXqG8vJyJEyeyfPlyevfu\nTUxMDMeOHeP999/nrrvuIikpCYDs7GwefvhhsrKyCAwM5K233sLX15dp06Zx3333MXbsWADz49zc\nXFJSUnj33XdRqVRs2rSJ0NBQHn74Yfbs2cO7775LWVkZdnZ2PPvsswwfPpzly5ezceNGlEol6enp\n2NnZ8c477xAWFnbj/whEsybdTcKq3N3defHFF3nkkUeIiYnhxRdf5Oeff2bIkCFoNBoOHDhAVlYW\nS5YsYe3atUyaNIkvv/yy2jH0ej1PP/00s2bNYvny5Xz//ff897//JTk5udbn3L9/P2fPnqV3794A\nnDp1ikWLFrFo0aJq2/3jH/+gU6dOrF+/niVLlrB06VLS09OZP38+PXr0YPny5fz666/k5+fz9ddf\n13ieOXPm0Lt3b9asWcPrr79OWlpajW2WLl1Ku3bt+OWXX/jhhx9IT0+nuLiYBQsWmFtAKpWKyspK\noqOj2bBhAz179qx2jLS0NGbPns2qVasICwtj3rx59f7O77vvPsLDw/nb3/7GmDFjzMvz8/N5+umn\nee2111i1ahXvvPMOL774IufOnQNg9+7d/P3vf2f16tVERERctatPtA7SkhBW9+CDDzJ58mR2797N\n7t27+fLLL/nyyy9ZtmwZffv2xd3dncWLF3Pu3Dl27tyJs7Nztf3PnDnD2bNnefXVV83LysvLOXLk\nCMOHDzd/IwcwGAx4enry3nvv0aZNG6DqW72Li0uNXNu3b+fFF18EwNXVldWrVwOwZcsWDh06ZD6v\nUV5eXuvr2r59Oy+99BIAHTt2ZNCgQTW2iYqK4rHHHiMjI4MhQ4Ywa9YsXF1dKSwsrLFt//79a32e\nIUOG0LFjRwDuuuuuOltQV3Pw4EE6dOhgLp6hoaFERESwa9cuFAoFPXr0ICAgAIDu3buzcePG63oe\n0bJIkRBWtXfvXvbv388jjzxCdHQ00dHRPP/880yYMIFt27bh4ODAvHnzePDBB4mJiSE4OJiVK1dW\nO4bBYMDNza1aP31OTg6urq5kZ2fXOCfxZ05OTrUuV6vVKBQK8+Nz587h6emJ0WjkX//6FyEhIQAU\nFRVV2+4yhULBlVOf/bk7CqBXr15s2rSJpKQkduzYweTJk/nkk0/w8/OzOOeV521MJlO157ny+Ssr\nK2vd/zKj0VhjmclkQq/XY2dnh4ODQ52vTbRe0t0krMrLy4tPP/2UPXv2mJdlZ2dTVlZGWFgY27Zt\nIzo6mnvvvZeePXsSGxuLwWCodoygoCDs7e3NhSAjI4Px48eTkpJyQ9kiIyP5+eefgarRRg888ABn\nzpxh2LBhfPPNN5hMJnQ6HU888QTff/99jf2joqJYsmQJABcvXmTnzp01tnn//fdZuHAho0eP5rXX\nXqNz586cOXMGtVqNwWCw6IN4586dXLx4EYCffvqJ4cOHA1W/28u/g7Nnz3L8+HHzPiqVCr1eX+04\nvXv3Ji0tjYMHDwJw8uRJdu/ezcCBA6+aQbRe0pIQVhUUFMQnn3zCP//5Ty5duoS9vT2urq7MmTOH\n4OBgpk6dygsvvMCECRNQqVT079+f3377rdq3Xo1Gw8KFC5k3bx5fffUVer2eZ555hn79+nH+/Pnr\nzjZ79mzefPNNJkyYgMlkYsaMGYSHh/Paa68xb948JkyYQGVlJUOGDOGRRx6psf8bb7zBK6+8wrhx\n4wgICKgxkgrggQce4OWXX2b8+PFoNBq6dOnC+PHjUalUdO/enXHjxvHTTz/VmzMsLIxXX32VnJwc\ngoODmTNnDgBPPPEEL7/8Mlu3biU4OLhad1V0dDTvvPNOtdaFl5cX//rXv3jrrbcoLy9HoVCwYMEC\ngoKC2L9///X+GkULp5CpwoUQQtRFupuEEELUSYqEEEKIOkmREEIIUScpEkIIIerULEY3VY3lrjnG\nu6lRqRQYDE1/HIDkbFiSs2E1h5zNISOAnd2Nz43WTIoEFBSUXn1DG/PwcJKcDUhyNizJ2XCaQ0YA\nX1/XGz6GdDcJIYSok9WKxIEDB5g2bVqN5atXr2by5MlMnTqV2bNn1zpVgBBCiKbBKkXiyy+/5PXX\nX6eioqLa8vLycj788EO+++47Fi9eTElJCXFxcdaIIIQQogFY5ZxEhw4d+Oijj/jb3/5WbblGo2Hx\n4sU4OjoCVVNA29vbWyOCaOIMBj35+dno9bo6t8nMbB6TzEnOhtUccja1jGq1Bk9PX1Sqhv9It0qR\nuPnmm2udU0epVOLj4wPAokWLKC0tZejQoVc9nkJRdaKoqVOplJLTQunpZ3BycsbFpW2tM6wKISxj\nMpkoKSmkpCSPjh07NfjxG310k9Fo5L333iMtLY2PPvrIog8IGd3UsJpCzrKyMtzcfDEaTUDt38hU\nKiUGQ9M/ZyU5G1ZzyNnUMjo6ulJUlF/jfd0Qo5savUjMnj3bPKunUimDq1ozaUEI0TCs+V5qlCKx\natUqSktLCQ8PZ9myZfTv358HHngAgOnTp1e7xaIQQoimo1lMFW40msjNLbF1jKtqCt04lmgKOS9d\nSicgoGO92zS1Jn1dJGfDag45m2LG2t5TzbK7SYiWzGgCYz3fu5QKBUrpZRPNiJwUEK3Wvn17uPnm\nEWRmXjIv+/TTj1i7dtV1H9NoMlFcXlnnj9FkYu3aVXz66Ud1HqOiooK77prAjh3bWbFieZ3brFr1\n61XzFBYW8O6786779Vji8OEUZs58zPxYr9fz1lt/58knH+HRR6eTmLi12vZVg1fmM2PGg8yc+Rjn\nz5+rtt/jjz9U637X6/LvszHU9dr+LD8/jzvuuJX09DMW7ZeXl8sHH7xj7fi1kiIhWjU7Ow3z589p\nUmPeLxs8eAgTJ95R67q8vFyLisSXX37KHXfcDcCTTz5q/lAqLCxg2rS7bzjjDz98yzvvvIVO98f1\nLhs2rMXNzYOFC7/i//7vIz744N1q+yQkbEGn0/H551/z+ON/5eOP/1ltv88++2+t+1nDyZMneOqp\nR7n//slERQ1g2LD+fPXVZ9d9vLpe25X0ej3vvjsfjcbe4v28vLxxcnJm//69153tekl3k7C59evX\n1PrtXaGoGv58PW65ZQJjx9561e369euP0Whi+fKl3HnnFPNyvV7P/Pn/4OLFCxgMBqZOvY+KigrW\nrFmJ0Wjk4YdnkJWVybZt8eh0OnJyspk8+R7iE7aSmnqKhx6bSa/e/fj3PxegLSkmLzeHW2+7kymT\np9Sao7S0lDlzXqe4uJjAwHYArF27ivT0M9x6620sWPAPVCo1RqORN96Yy3ff/ZczZ9L4+usvefDB\nR2s9plZbwtGjR3jhhVAAzp8/R/v2HQBITT1FcHDnats/+eQjlJbWPFf11FPPMGDAoFqfIzCwHfPm\nvcdbb802L4uOHk10dAxQNYb/zxd4HTyYzKBBkQCEh/fk2LGjFu2n1Zbw9ttzKSkpJicnmzvuuJtJ\nk+5i7dpVJCVto6KinAsXznPffQ8wcmRMjd/nn1VUVPDGG6/w+uv/oHv3cL788lN0Oh0PPzzjqr+T\nv/71Ofr1G1BjeV2v7Uoff/wht99+J4sWfX1N+40ZM5b//Odz+vbtV+vrsRYpEqJVMprAYKr677PP\nv8QTM/5CvwGRGE0mDCYTv/z6Mx4eHsye/RalpVoeeuh+brvtDlxdXXn77Q+Aqg/x0tJS/v3vT9mw\nYR1LlvzIws++ZvvOnaz8ZSk+vv4MHzmaIcNGkpubzSuznqqzSPz6688EBYUwY8ZTHD6cwr59e8zr\ndu/eSbduPXjyyWc4cGA/Wm0J06c/RGrqqToLBFR1A3XoUHUi89KlDHx9/czDzk+dOknnzqHVtl+4\n8Ktr/j2OHBlDRsbFasucnKou1Cwt1fL66y/x6KNPVFuv1WpxdnYxP1Yqlej1evN+Wm3t+50/f57R\no29ixIhR5ORkM3PmY0yadNfv+5TwwQcfc+7cWV566TkKCgrq/H1etmfPLsLCutK9ezgAISGh7Ny5\nvdpw0rp+J3WduK7rtanVVR+1a9euwsPDg0GDIqsViavtB9CpUxAHDybXmseapEgImxs79tZav/Vb\ncwSJ0WSiTKdHbzCitHfm4RnPMG/uG3Tr0YvySgPpZ9LM356dnJzp1CkIo9Fg/tC9LDS0CwAuLq50\n6hSEQqHAxdWVykodnp5erPxlCUmJW3B0csZg0NeZ59y5swwZUjX7QI8e4dU+HMaPn8gPP3zLrFl/\nxdnZhRkznrLoNRYUFODl5QXAqVMnqhWF48ePEhNzU7Xtr6clUZfMzEu8+uqLTJp0FzfdNLbaOmdn\n52rPYzKZzK83M/MSr732IrffXnM/Ly8vli79ka1b43Byckav/+P32blzGAB+fv7odLp6f5+XnT6d\nSkjIH62pEyeOERbWtdo219qSqO+1AaxZsxKFQsGePbs4deoEc+fO5u23P7jqfgAqlQq1uqo12ZjX\nmEmREAIYGDmMpO1b2fTbGv7y6FN06BjEwYP7GTEimtJSLampqfTs2RuFovqbs76LmH5Z9iNdu4Vz\ny4Q7OJi8lz27tte5bVBQECkph4iKGsmJE8eqfQAmJm6ld+++PPTQY2zcuJ4ffviWhx6agclUfwH1\n9PSkuLgYqOp71+mqJtw8d+4siYlbefTRJ6ttfz0tidrk5eXy/PMzee65v9G//8Aa63v27M22bQnE\nxIwhJeWQudvr8n6zZr1ERETND+DFi78nPLwXkybdxb59e0hKSjSv+/Pfob7f52Xu7u7s3bsbgLNn\n09m6dTOfffbfattca0uirtd22SeffGn+/5kzH+PFF1/F29vnqvvB5S44VaNfhCwnroX43aOPP4vm\n9wknJ9w2icLCQp544mFmzpzBQw89iqen1zUdb+DgYaxZ+TMvz3qSlb8sQaVSVTvBe6WJE+/k4sUL\nPPHEwyxf/j/s7OzM67p27c5XX33G008/zooVy7nzzil4enpSWaln4cJ/U1RUyKuvvljjmD169OTU\nqZNAVUvCaDTxwAP38M03X9KpUzDr16++ptdjqe+++5ri4mK++eYrZs58jJkzHyM7O8uccfjwaDQa\nDY8//hAfffQBTz/9fLX9vv76j/0qKsrNxx06dDjLly9l5szHWLr0x+v+fV42evTNlJWVMW3a3bz7\n7jzefHM+7u4eN/Ta63ptdf2NrrbflVJTTxEe3vOG8l0PuZiuATWFi9Qs0RRy2vpiOr2xaqhqXVwd\n7FBbeEHDlTkb8rgN4b335jNx4h3Mnv0K33zzIw4Ojo323NerKV6o9me2yLhw4b8YOnQEvXv3qXW9\ntS6mk5aEEHXQG021/hib/NeqPzzyyOMsW7YEUODs7GzrOOI65ebmoNVq6ywQ1iQtiQbUFL6hW6Ip\n5GzqLQlnBzu0daz/c2ugKbckrtQcvqFD88jZFDNKS0IIIUSjkyIhhBCiTlIkhM00g55OIZoFa76X\npEgIm1CrNWi1RU2uUBhNUKIzUFRWWcf98oRoWkwmE1ptEWq1xirHl4vphE14evqSn59NSUlBndso\nFNa72bzBBOWVhmrLdHojFXqjeb4ohQIc1Ers1NW/S5XaqVBdce75ypy1Hbe+fRuTNX+fDak55Gxq\nGdVqDZ6evtY5tlWOKsRVqFRqfHza1LuNNUdh5esM7DyWZX68Kz2fTSdyCPFxYmRnHzr4uvBlwmnO\nF5QzPMSbocF/XEgX3dUPT42q1px/Pu6f/XnfxtQURrVZojnkbA4ZG4p0N4lWr7zSwPa0PDp5OXJ3\n30D8XO3p296D+/u3I7yNK/Gpuew+W3eLR4iWTFoSotXbmZ5PWaWRkaE+1ZYrFApu7e5PpcFI7PFs\nHO2UhLdxs1FKIWxDWhKiVSup0LM7vYBu/i60cXOosV6pVHBbzwA6ejqy9nAWZ/PLbJBSCNuRIiFa\ntaS0fAwmEyM6e9e5jVqpZFLvNrg7qvn5wEUuFEihEK2HFAnRaplMJo5mFtPFzwVPp/qHDzraqbi7\nb1sUKHh5xWEuFpbXu70QLYUUCdFqXSgsR6szEOrrcvWNAU8nDVP6tkVboWfGkgOclxaFaAWkSIhW\n62S2FqUCQnycLN6njbsD79weTlmlgRlLDnA4o8iKCYWwPSkSotU6kVVCB09HHOyu7bqFUD8XFk7u\nhVKh4OHFB/gi4TTGJnRhlRANSYqEaJXO5pWSV1pJmJ9lXU1/Fubnwg/TI4ju7M17v53gr8sOkVNS\n0cAphbA9KRKiVUpKywMg1Pf6b8Tj5mDH/PHdmDexBwcuFnHvd/vYdSa/oSIK0SRYrUgcOHCAadOm\n1Vi+efNm7rzzTqZMmcLSpUut9fRC1CvpdB4Brva4OdS89/G1UCgU3N2/PYvuj8DHRcPs1Uc4cqm4\ngVIKYXtWueL6yy+/ZOXKlTg6Vr+fbmVlJQsWLGDZsmU4Ojpyzz33MGrUKHx8fOo4khANr6CskqOX\niqvNx3Sjgryd+M89fXhy2SFWplxCoYBu/jd+VzAhbM0qLYkOHTrw0Ucf1ViemppKhw4dcHd3R6PR\n0K9fP3bv3m2NCELU6eDFIkxAJy/LRzXVpaiokE2bYlm2bAkb163k3o7ltHW1Y8WhS3J1tmgRrNKS\nuPnmmzl//nyN5SUlJbi6/vHtytnZmZKSq9+7WqGomnWxqVOplJKzAVkr54ncc6iUCoL9XbFT1f49\nSa1S4uRY+wV2DvZ2lBRn8+GHH7J58yb0en219U6uHrh0imSDwxieiumCWqmstq+He83pPxpDa/+7\nN6TmkLGhNOoEfy4uLmi1WvNjrVZbrWjUxWSiWUzL21ymD27tOXel5dHZ15lKnZ7KOrbRG4yUlulq\nLDeZTPy85Ee++eJjVCoVd9wxmfHjb8HDw4+KCh17D6ewdNlyTh9ah+70LtaqZzJ6cIR5//KKSgoK\njA3+mizR2v/uDak5ZATw9b3xLs9GLRIhISGkp6dTUFCAk5MTe/bs4eGHH27MCKKV0xuMHLlUzC3h\n/te8r8loZPPSzzmUuJ7IyKG88MIr+Pr6VfvAiPT0odynO+eOH+TX/37AoZ8W4Kd6ll4Dhjb0SxGi\nUTRKkVi1ahWlpaVMmTKFl19+mYcffhiTycSdd96Jv/+1v1mFuF7Hs7VU6I30CHDDYLD8G73JZGLz\nks84tG0Dd0yZxtNPPIVSWfcpvfZdenHX8+/y08dvsXnR/+Hq5EBQj34N8RKEaFRWKxLt2rUzD3Gd\nMGGCefmoUaMYNWqUtZ5WiHodvFg1jUa3Nq6knC+0eL8da3/i0LYNDLjpLh549Ml6C8Rlbfz9CJ/8\nAilL3mH1V28z+dn50NXvurMLYQtyMZ1oVQ5eKCLA1R5fF3uL90k9uJOd65bQfdAohky4/5qer19I\nGyoiH0Hl6Mqar96hqFDucCeaFykSolU5eLGQXm0tv7tccX42Gxb9C7/2IYya8jgKheKans/bWUOn\nNn4YBj2AtjifD9+Zg0nmeRLNiBQJ0WpcKionq0RH70DLioTJZGLjDx9jMhi45aEXUWssb31cqW87\nd0qc2tJtzH3s3ZXE2rWrrus4QtiCFAnRYlWYIF9nMP9sP1vV1dPJ1wWDBV/mDyfFcvZYMsNufwAP\n3zbXnSPU1wUXjYrcgAGE9+rLxx//k6yszOs+nhCNSYqEaLFKKw3EHcsy/2w6moVaqSA9R0ulsf4q\nUVJUROKKbwkM6U6vYWNvKIdKqaB3O3fS8sq594kXqKzUs3Dhv2/omEI0FikSotXILK7A10WDSnn1\n8wpLvvuCilItI++egcKCkUxX0yOg6qKm1DJH7r13Gps3byQ5ed8NH1cIa5MiIVoFk8lEZnEF/q5X\nP6+Qm3GWjWt+pVfUOHwDOzXI83s7a/BysmNbai733jsdf/8APvroA4xG21x9LYSlpEiIVqGwXE+5\n3mhRkdi+6nscHBwZfMvUBs3Qxc+FAxcK0aHiscee5OTJE8TFxTbocwjR0KRIiFYhs7jqrnH+bvVP\nrpdx5jipB3cy4a57cXSxfKisJcL8XDCaIPF0HjExNxEc3Jmvvvq8xgSBQjQlUiREq5BZVIEC8HOp\nfWbXy3asXYyjizu3TLq7wTO0cbPH21lD3MkclEoljzzyOBcunGPDhrUN/lxCNBQpEqJVuFRcjrez\nps6pwQGyz6eRfmQffaMn4Oh0/bc1rYtCoWBIsBdJZ/IprzQwdGgUXbp05fvvv8VgMDT48wnREKRI\niFbBkpPWezf9gp29A72ixlktx5Bgbyr0Rnam56NQKLj//ge5cOEcW7ZsstpzCnEjpEiIFk+r01NS\nYai3SBTlZXF8bwI9h96Mg5OL1bL0DnTDWaMi4XQeAFFRI+jYMYjvv/9GpusQTZIUCdHiZRZVnbQO\ncKu7SOzbvAIFCvpG32bVLGqVkgEdPNh5Jh+TyYRSqeSee+4nNfUU+/fvtepzC3E9pEiIFu/yyCa/\nOloSZSVFpGzfSJcBI3D19Lnq8RQKRbXpPjIKy83/b8l0H5GdPLlUXEF6XtU9sGNixuDu7s7PPy+x\n/EUJ0Uga9c50QthCZnEF7g5qHO1Uta4/mLAOva6C/qMnWXS8Mr2RpJPZ5sdOjhrzrU4jQ32vuv/g\nTl4AJKXn08nbCXt7ByZMmMSPP35HRsZF2rRpa1EOIRqDtCREi1ffSWujwcDBxPV06t4P7zYdGiVP\nW3cHOng6suNMnnnZxIl3olAo+PXXZY2SQQhLSZEQLVqlwUheaSW+dRSJ0ym70Rbm0XPYzY2aa3BH\nT/aeK6RCXzUth7+/P1FRI1i9eiXl5eWNmkWI+kiREC1ajraqG6iui+gOJa7HxcOboB79GzMWgzt5\nUqE3knzhj1uo3nHH3RQXF7Fx4/pGzSJEfaRIiBYtu6SqSNR2u9LCnEzSjyUTPuQmlKraz1dYS7/2\nHqiVCnacyTcv6927LyEhnfn556UyHFY0GVIkRIuWXVyBWqnA08muxrqU7b+hQEGPyNGNnstJo6JP\noFu1IqFQKJg0aTKnT5/i6NHDjZ5JiNpIkRAtWlaJDh9nDco/3ZtaX1nJ4aSNBIX3t2jYa0O5cvhs\n7/YenMrRciqvlHydgQpT1XBYe3t71qyRW5yKpkGKhGjRskuqbjT0Z7uTEigtLqTnDd517lqV6Y3m\nO+WZfr873ve7zhF3LIvSSgPOzi6MHDmKzZt/kxPYokmQIiFarMKySrQ6Q63nIzavW4Grlx8du/Wx\nQbIqfi4anDUqTudoqy0fN24CWq2W+Pg4GyUT4g9SJESLlZZb9eHr61q9JVFSkMuh/XvoPigapbJx\nT1hfSaFQEOTtxJm80monqvv0iaBNm7asXStdTsL2pEiIFisttxQAvz+1JI7t3orJZKLbwGhbxKom\nyNuJskojl36fXwpAqVQybtx49u3bQ0bGRRumE0KKhGjBzuSU4minxFnzR2vBZDJxdNcWwrqF4+Hb\nxobpqgR5OwFw+veCdtnYsbeiUChYt261LWIJYSZFQrRYZ/JK8XWxR3HFyKbsC2nkZqQTFdO4J6zr\n4qxRE+Bqb+4auywgoA39+g1g/fo1GI1GG6UTwkpFwmg0Mnv2bKZMmcK0adNIT0+vtn7lypVMmjSJ\nO++8kx9//NEaEUQrZzSZOJOrrTGy6ejOOJQqNUNGNP61EXUJ8nbiQmE5Wl31e12PHTueS5cyOHTo\ngI2SCWGlIhEbG4tOp2PJkiXMmjWLt99+u9r6d999l6+//pqffvqJr7/+msLCwjqOJMT1ySgqp6zS\nWG1kk9Fg4PieeILC++Pi5mbDdNUFezthNEHyuervg2HDhmNvb09s7AYbJRPCSlOF7927l6ioKAD6\n9OlDSkpKtfVdunShuLgYtVqNyWSq1h1QG4UCPDycrBG1QalUSsnZgG4k596MEgDaezvj5FjVmkg9\ntIfS4gL6DBuNWqU0L69Nfev/vE6pVJgfX89xO7dRo1FlkHyhiPsjO5mXe3g4ER09iq1bNzN79t+x\ns6t51fi1aA1/98bSHDI2FKsUiZKSElxc/rgFpEqlQq/Xo1ZXPV1oaCh33nknjo6OjBkzBrerfKsz\nmaCgoLTebZoCDw8nydmAbiTngfSqabhd7ZTmez0kJ2zEwcmVNp37oDcYzctrU9/6P6+78n4S13vc\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1a23fae710>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1a178022d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#We use the numpy fuction log1p which  applies log(1+x) to all elements of the column\n",
    "train[\"SalePrice\"] = np.log1p(train[\"SalePrice\"])\n",
    "\n",
    "#Check the new distribution \n",
    "sns.distplot(train['SalePrice'] , fit=norm);\n",
    "\n",
    "# Get the fitted parameters used by the function\n",
    "(mu, sigma) = norm.fit(train['SalePrice'])\n",
    "print( '\\n mu = {:.2f} and sigma = {:.2f}\\n'.format(mu, sigma))\n",
    "\n",
    "#Now plot the distribution\n",
    "plt.legend(['Normal dist. ($\\mu=$ {:.2f} and $\\sigma=$ {:.2f} )'.format(mu, sigma)],\n",
    "            loc='best')\n",
    "plt.ylabel('Frequency')\n",
    "plt.title('SalePrice distribution')\n",
    "\n",
    "#Get also the QQ-plot\n",
    "fig = plt.figure()\n",
    "res = stats.probplot(train['SalePrice'], plot=plt)\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "51620309-727a-4445-a96a-d9851880d31f",
    "_execution_state": "idle",
    "_uuid": "991e699566f4292490fda326703baa33ce09173f"
   },
   "source": [
    "The skew seems now corrected and the data appears more normally distributed. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "802df76d-0e0b-4868-ba16-91335568d2d7",
    "_execution_state": "idle",
    "_uuid": "827a86d65c6d176f4af55224b91b44a47966652d"
   },
   "source": [
    "##Features engineering"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "a5ad11e4-0388-417c-bf77-cc7752f4c5a0",
    "_execution_state": "idle",
    "_uuid": "5fc214fb6df16c026dec0dfcb99af1c1b7744b56"
   },
   "source": [
    "let's first  concatenate the train and test data in the same dataframe"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "_cell_guid": "1bd3e9b9-2f42-4251-aadd-5ced84eb1a27",
    "_execution_state": "idle",
    "_uuid": "efc576211e4eed962f04cd94d901c667e6912528",
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "all_data size is : (2917, 79)\n"
     ]
    }
   ],
   "source": [
    "ntrain = train.shape[0]\n",
    "ntest = test.shape[0]\n",
    "y_train = train.SalePrice.values\n",
    "all_data = pd.concat((train, test)).reset_index(drop=True)\n",
    "all_data.drop(['SalePrice'], axis=1, inplace=True)\n",
    "print(\"all_data size is : {}\".format(all_data.shape))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "9ce95008-a3b9-43fa-bc4e-649ca0f43768",
    "_execution_state": "idle",
    "_uuid": "abe25f3032a0bed179d58d5911cb42d97b35841b"
   },
   "source": [
    "###Missing Data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "_cell_guid": "501b465f-8c80-4b93-81d0-a5d41e08d235",
    "_execution_state": "idle",
    "_uuid": "f97d25548ec8f6c02e2d1ee5a6df6c3d107fdf53",
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Missing Ratio</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>PoolQC</th>\n",
       "      <td>99.691</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>MiscFeature</th>\n",
       "      <td>96.400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Alley</th>\n",
       "      <td>93.212</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Fence</th>\n",
       "      <td>80.425</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FireplaceQu</th>\n",
       "      <td>48.680</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>LotFrontage</th>\n",
       "      <td>16.661</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>GarageQual</th>\n",
       "      <td>5.451</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>GarageCond</th>\n",
       "      <td>5.451</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>GarageFinish</th>\n",
       "      <td>5.451</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>GarageYrBlt</th>\n",
       "      <td>5.451</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>GarageType</th>\n",
       "      <td>5.382</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>BsmtExposure</th>\n",
       "      <td>2.811</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>BsmtCond</th>\n",
       "      <td>2.811</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>BsmtQual</th>\n",
       "      <td>2.777</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>BsmtFinType2</th>\n",
       "      <td>2.743</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>BsmtFinType1</th>\n",
       "      <td>2.708</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>MasVnrType</th>\n",
       "      <td>0.823</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>MasVnrArea</th>\n",
       "      <td>0.788</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>MSZoning</th>\n",
       "      <td>0.137</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>BsmtFullBath</th>\n",
       "      <td>0.069</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              Missing Ratio\n",
       "PoolQC               99.691\n",
       "MiscFeature          96.400\n",
       "Alley                93.212\n",
       "Fence                80.425\n",
       "FireplaceQu          48.680\n",
       "LotFrontage          16.661\n",
       "GarageQual            5.451\n",
       "GarageCond            5.451\n",
       "GarageFinish          5.451\n",
       "GarageYrBlt           5.451\n",
       "GarageType            5.382\n",
       "BsmtExposure          2.811\n",
       "BsmtCond              2.811\n",
       "BsmtQual              2.777\n",
       "BsmtFinType2          2.743\n",
       "BsmtFinType1          2.708\n",
       "MasVnrType            0.823\n",
       "MasVnrArea            0.788\n",
       "MSZoning              0.137\n",
       "BsmtFullBath          0.069"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "all_data_na = (all_data.isnull().sum() / len(all_data)) * 100\n",
    "all_data_na = all_data_na.drop(all_data_na[all_data_na == 0].index).sort_values(ascending=False)[:30]\n",
    "missing_data = pd.DataFrame({'Missing Ratio' :all_data_na})\n",
    "missing_data.head(20)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "_cell_guid": "1c80610d-8f19-43c8-bd54-7d786b0dca49",
    "_execution_state": "idle",
    "_uuid": "2eb6e1361884db6a4f65afc3b158fcbe85c2392e",
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.text.Text at 0x1a2347d3d0>"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA4AAAAMGCAYAAACj3eqSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3X341/P9///bu3rXeyo1FnISWmH4OAnFrJwtYSQOhiyn\nmdNZzUk5i7AlhC3MuUKxZqTE7DPmJGdrk7NP+USIYvjoPHT6/v3h1/u7JHuN10vL83I5jh1H7+fr\n9X48769XjmNdj+dZVW1tbW0AAAD4xqu3sgcAAADg6yEAAQAACkIAAgAAFIQABAAAKAgBCAAAUBAC\nEAAAoCAEIMAqYPfdd8+mm25a97/vfe972X777dOzZ8+88sorK3u8L1RbW5uRI0fmww8/LNuagwcP\nTufOnb/yOlOnTs2mm26av/3tb2WYqnSbb7557rnnnpLf/+ijj+a111770vvr0aNHzjnnnC/9+581\na9asHH300fmv//qvHHTQQWVZ8913382YMWPKshYAKyYAAVYRxx13XMaOHZuxY8fm0UcfzdChQzN3\n7twcffTRmTt37soeb4Wee+659OnTJx9//HHZ1jzmmGPyu9/97iuv07Jly4wdOzZbb711GaaqjPfe\ney/HH398WQP6q7r//vszbty4DBs2LNdcc01Z1jz77LPzxBNPlGUtAFZMAAKsIlZbbbW0aNEiLVq0\nyNprr50tttgiffr0yfTp0/PMM8+s7PFWqLa2tuxrNm7cOGusscZXXqd+/fpp0aJFqquryzBVZVTi\n+/uqZs+enRYtWmSrrbbK2muvXZY1/xM/J8A3kQAEWIXVr18/SdKwYcMkn56ad9ZZZ6VDhw5p3759\njjvuuLz++ut17+/bt2969eqVHj16ZLvttsvw4cOTJCNHjsx+++2XrbbaKl26dMm9995b9zvvvvtu\nTj311LRr1y7f//7307t377z33nt1r/fo0SODBg3KGWeckXbt2qV9+/a58MILs2jRokydOjWHH354\nkmSPPfbI4MGDl/sMS0/DfOCBB9K1a9e60wrfeOONDB48ODvuuGPat2+fiy++uO53PnsK6A033JA9\n9tgjW265Zbp06ZJhw4bVvfb666/nmGOOSbt27bLddtvlpJNOytSpU5fZ99JTQL/osyz12GOP1c15\n4IEHZsiQIdl0001X+Hc0c+bMnHbaadluu+3ygx/8YJnvNkmWLFmSa6+9NnvuuWe23HLLbL/99vnZ\nz36W6dOnJ0l22WWXJMkRRxyRvn37JkmeffbZ/OQnP8m2226bLbfcMvvvv38ef/zxFc6QJHPnzs2p\np56arbbaKrvuumuGDBmSJFm4cGF23HHH3HTTTcu8/9e//nX233//5dbp27dvrrrqqrzzzjvZdNNN\n605l/fOf/1z3vey11165+eabs2TJkrrf+6KZ+/btm6effjr33ntv3Xf5eaet/vO2e+65J126dMkF\nF1yQ7bbbLmeeeWaS5G9/+1sOPfTQbLXVVtljjz0yaNCgzJ8//wu/G4AiEYAAq6i33347gwYNSosW\nLdKuXbssWbIkP/3pT/P+++/npptuyvDhw7Puuuume/fumTFjRt3vPfjgg+ncuXNGjBiRzp0754EH\nHsg555yTgw46KKNHj07Pnj1z7rnnZuzYsfnoo4/So0ePNGrUKHfddVduvvnmLFy4MEceeWQWLFhQ\nt+att96ajTfeOCNHjszZZ5+dO++8M2PGjEnLli1z7bXXJkl+//vf55hjjlnh57nqqqty7rnn5ve/\n/31mzpyZQw45JFOnTs3w4cPTu3fv3H777XnssceW+71HHnkkN998cy6++OI89NBD6dmzZy666KKM\nGzcuSXL66adn3XXXzb333pthw4ZlxowZOfvss1c4x4o+S5JMmDAhJ554YnbfffeMGjUqhx12WK68\n8sov/Hv6+c9/nkmTJuWmm27KtddemzvuuCOLFy9eZn+33XZbzj333Dz00EMZNGhQ/v73v+e3v/1t\nktQF4+DBg3POOefk3XffzXHHHZftttsuo0aNyt13352WLVumT58+y/ydfNYf//jHrL/++hk5cmRO\nOOGEXH755fnjH/+Y6urq7Lvvvhk1alTde2trazNq1KgccMABy61zzjnn5Ljjjss666yTsWPHZp99\n9sljjz2W008/PUcccUTGjBmTM844I7fddlvd3/2/mvmcc87J9ttvn7333jtjx479wu/zn7355puZ\nO3duRo4cmeOPPz4TJ07Msccem86dO2f06NG5+OKL85e//CUXXHBByWsCfNM1WNkDAFCaa6+9Njfe\neGOST4/aLFq0KJtvvnmuvvrqNGnSJE899VReeuml/PWvf02TJk2SJP37988zzzyTESNG5Pjjj0+S\ntGjRIkcccUTdukOHDs1+++2XI488Mkmy4YYbZt68eVmyZEnGjBmTjz/+OJdccknd0cYrrrgiHTp0\nyJ/+9Kfsu+++SZLvfe97Oemkk5IkrVq1ypAhQ/L8889n//33T7NmzZIka6yxRho3brzCz9ezZ8+0\nb98+SdK5c+fccccdufDCC9OoUaO0bt06gwcPzquvvlp3RGypt956K9XV1Vl33XWz3nrr5eCDD876\n66+f1q1bJ0mmTJmSnXfeOeutt14aNGiQyy67LP/3f/+3wjm+6LMMHTo02267bXr16pUk2XjjjfP6\n66/nlltu+dy1Jk+enGeeeSbDhg3LtttumyQZOHBgfvSjH9W9Z+ONN87AgQPTqVOnJMl6662Xjh07\nZtKkSXXfW5I0a9YsTZs2zYwZM/Lzn/88xxxzTKqqqpIkRx11VI488sh8+OGHadmy5efOsvXWW9cd\nJWvdunVeeOGFDB06NHvttVcOPPDA3H777Zk0aVI22WST/P3vf897772Xrl27LrdO06ZNs9pqq9Wd\nPpsk1113XQ477LC6G8K0atUq8+bNy3nnnZeTTjopCxcu/JczV1dXp6ampm7NUp100knZYIMNknwa\n+7vsskuOPfbYJJ/+t9y/f/907949vXv3zlprrfVvrQ3wTSQAAVYRhx9+eLp3757k01M/mzdvXhd6\nyadHpxYvXpyOHTsu83vz58/P5MmT635ef/31l3l90qRJy/1D/6ijjkryaUBOnz4922+//TKvf/zx\nx8usudFGGy3zetOmTbNw4cJ/6/O1atWq7s+rrbZa1lprrTRq1KhuW01Nzece4eratWvuvvvu7Lnn\nntlkk03ygx/8IPvuu2/WXHPNJJ8egRs4cGCGDx+eHXfcMbvuuusyAfZZX/RZJkyYUBdqS2233XYr\nDMClEbfFFlvUbWvTps0yIbz77rtn/PjxufLKK/PGG2/k9ddfz+TJk5f7zpdq1apVunXrlqFDh+Z/\n//d/M2XKlEycODFJljmy+FlLA3SpLbfcMv/93/+d5NO7km666aa57777csYZZ2TUqFHp2LFjyddZ\nTpw4MS+99FLuuuuuum1LlizJJ598kmnTpn3pmf+VqqqqZf57njhxYqZMmbLMZ116beHkyZMFIEAE\nIMAqo1mzZtlwww1X+Hp1dXWaN2+eESNGLPfaaqutVvfnmpqaZV5r0GDF/1dQXV2dNm3a5Oqrr17u\ntaZNm9b9eek1iP/s372px2fnqFevtKsU1lhjjYwaNSp///vfM3bs2Dz22GO55ZZbMmDAgBx44IE5\n4ogjss8+++Qvf/lLnnrqqQwYMCC33HJL7rvvvs9d74s+S/369Ze5ru1fWXq067PfxT/fdGbpkd0D\nDzwwHTt2zPHHH5/bbrst77zzzueuOWnSpBx++OHZeuuts9NOO2WfffbJokWLcsIJJ3zhLJ/9Pmtr\na5f5rEuvZ/z5z3+eBx98ML/61a9K/pzV1dXp2bNn9ttvv+VeW3vttb/0zJ/1z9diLv1M//wZqqur\n061btxx33HHL/e6/e2QR4JvKNYAA3xBt27bNzJkzk3x66tuGG26Y9ddfP1dddVXd9XCf57vf/W5e\nfvnlZbadeeaZufjii9O2bdtMnTo1zZs3r1tzzTXXzIABA+qObv0rSyOoUh544IHceeed2WGHHdK7\nd++MHDkynTp1yoMPPpgZM2bkoosuyqJFi3LwwQfnyiuvzJAhQ/L6669/qecnbrrppnnxxReX2fbC\nCy+s8P2bbbZZkmT8+PF126ZOnVr395QkN954Y0499dScd955Ofjgg7PFFltkypQpddH42e/vd7/7\nXVq2bJmbbropxx57bDp27Fh3U54viu6lR9yWeu6559KmTZu6n/fbb7988MEHueWWW1KvXr3lTrX9\nIm3atMmbb75Z99/IhhtumEmTJtVdH1nKzJ/9nNXV1cs83mTJkiV5++23/+UckydPXmaO6dOnZ+DA\ngZk3b17Jnwfgm0wAAnxD7LTTTtlmm23Sq1ev/O1vf8sbb7yRc889N4888kg22WSTFf5ez549M3r0\n6Nx555156623MmLEiIwZMya777579ttvv3z7299Or1698tJLL2XSpEk57bTT8sILL6Rt27YlzbX0\ndMeJEydmzpw5Zfms/2zBggUZOHBgRo0alWnTpuXpp5/OhAkTsvXWW6dZs2Z5/PHH069fv7zyyiuZ\nMmVK7rnnnqy++urZeOON/+19HX300XnuuecyePDgvPnmmxk5cmRuv/32Fb5/o402yh577JH+/fvn\nr3/9ayZOnJg+ffosczRu6bMIJ0+enFdffTUXXnhhxo8fX3e669Lv73//938zY8aMrLPOOpk2bVqe\nfPLJTJs2Lffdd19daH3RTWCeffbZ/OY3v8nrr7+eIUOG5MEHH8yJJ55Y9/qaa66ZTp065be//W32\n22+/zz0SuiInnnhixowZkxtuuCFvvvlmHn300fTr1y81NTVp2LBhSTM3btw4U6dOzbRp05Ik22yz\nTZ544ok88cQTefPNN9O/f//Mnj37C+c47rjj8uKLL2bAgAGZPHly/vrXv6ZPnz6ZM2eOI4AA/z8B\nCPANUVVVlWuuuSZt2rTJSSedlAMOOCBvvvlmbr755mWO9HzWD3/4w/Tr1y9DhgzJj370owwdOjSX\nXnppvv/976empia33nprampqcuSRR+awww7LokWLMnTo0Lpr7P6VNm3apEuXLundu3d+85vflOvj\n1unWrVt+/vOfZ/DgwenSpUv69u2bAw88MCeccELq1auX66+/PsmnjxDo2rVrXnvttdx8883LnMJa\nqs022yy//vWvM2bMmOy7774ZNmxYDj300C98juDll1+eDh065OSTT85RRx2V3XbbbZkYGThwYGbP\nnp0DDjggRx99dN1jI1577bV8/PHHadKkSXr06JHLL7885557bo444oh07tw5vXv3TteuXTNs2LD0\n798/q622Wl566aUVznHIIYdkwoQJ2X///TNs2LBccskl2WmnnZb7Lj/55JN069bt3/peOnXqlEsv\nvTSjR4/Ovvvum379+qVbt2658MILk6SkmQ8//PC88cYb2WefffLBBx/kmGOOye67755TTz01hxxy\nSJo0afKF124mnx6hvf766/Pcc8+lW7du6dWrV3bYYYfPPYUZoKiqaj15FQBK8uKLL6Zhw4Z1p3Ym\nnz6DcMSIEfnzn/+8EicrjzvuuCMjRoxY5pEQAHyzOAIIACWaMGFCjjzyyDz++ON555138uijj2bI\nkCGf+7iEVcnLL7+c++67L9ddd11+8pOfrOxxAKggdwEFgBL9+Mc/zvvvv58LLrgg77//ftZaa60c\nfvjhdc9YXFU999xzGTRoUPbaa6+6Z/kB8M3kFFAAAICCcAooAABAQQhAAACAgvhGXAO4ZMmSLF7s\nTFYAAKCYqqvrl/S+b0QALl5cm5kzP1rZYwAAAKwULVqU9nxbp4ACAAAUhAAEAAAoCAEIAABQEAIQ\nAACgIAQgAABAQQhAAACAghCAAAAABSEAAQAACkIAAgAAFIQABAAAKAgBCAAAUBACEAAAoCAEIAAA\nQEEIQAAAgIIQgAAAAAUhAAEAAApCAAIAABSEAAQAACgIAQgAAFAQAhAAAKAgBCAAAEBBCEAAAICC\nEIAAAAAFIQABAAAK4msNwBdeeCE9evRIkkyZMiWHHXZYunfvnvPPPz9LlixJkowYMSIHHnhgfvzj\n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\ndE466aRKzwgAAEAZlBSAVVVVOeOMM3LyySdn8uTJqa6uzkYbbZSamppKzwcAAECZlBSAzz333DI/\nL1y4MBMmTKj7uV27duWdCgAAgLIrKQC7d++eqqqq1NbW1m2rqqpKVVVV6tWrl5dffrliAwIAAFAe\nJQXgww8/vMzPixcvzhtvvJFf//rXOf300ysyGAAAAOVVUgCut956y21r1apVGjdunP79+2f06NFl\nHwwAAIDyKukxECuy5pprZsqUKeWaBQAAgAr6UjeBSZK5c+dm6NChadu2bdmHAgAAoPy+9E1gkk9P\nDb3ssssqMhgAAADl9aVuApMk1dXVWWuttco+EAAAAJXxpW8CAwAAwKplhQG45557pqqqqqRFHnro\nobINBAAAQGWsMAC7du36dc4BAABAha0wAE855ZSvcw4AAAAqrKRrAJNPbwQzadKkLF68uG7bggUL\n8tJLL+XWW2+tyHAAAACUT0kBeOmll+bWW29Ny5Yt8+6772bdddfNBx98kIULFzpVFAAAYBVRr5Q3\njR49Ov369csjjzyStddeO0OHDs1TTz2V9u3bZ5111qn0jAAAAJRBSQE4Y8aMdOrUKUmy6aab5sUX\nX0yTJk3Sq1evPPjggxUdEAAAgPIoKQCbN2+eWbNmJUk22mijTJo0KUmy1lpr5b333qvcdAAAAJRN\nSQHYsWPHXHjhhZk8eXK23377jB49Oq+88kruuuuurL322l9pgOuvvz6HHHJIDjzwwPz+97/PlClT\ncthhh6V79+45//zzs2TJkq+0PgAAAJ8qKQD79u2b5s2b55lnnskee+yRjTbaKN26dcutt96an/3s\nZ196588++2zGjx+fO++8M7fffnv+8Y9/ZMCAAenVq1eGDx+e2traPPzww196fQAAAP6fku4C2qxZ\ns1x33XV1P990002ZMGFCWrRokbXWWutL73zs2LHZZJNNcvLJJ2fu3Lk588wzM2LEiLRv3z5J0qlT\npzz55JPp3Lnzl94HAAAAnyopAHfbbbfsv//+OeCAA7LhhhumqqoqW2yxxVfe+YwZM/LOO+/kuuuu\ny9SpU3PiiSemtrY2VVVVSZLGjRtnzpw5X3k/AAAAlBiAhx9+eO6///5cf/312WqrrXLAAQdkn332\nyeqrr/6Vdt68efO0bt06DRs2TOvWrdOoUaP84x//qHt93rx5Je2jfv2qNG++2leapRRfxz7sDwAA\nqJSSArBnz57p2bNnXn311YwePTo33nhjfvWrX2W33XZLt27dsttuu32pnW+33Xa57bbbcvTRR+f9\n99/Pxx+ske5iAAAgAElEQVR/nJ122inPPvtsOnTokMcffzw77rjjv1xn8eLazJz5UZKkRYumX2qW\nUizdxz+zv/LuDwAA+PeV+u/2kgJwqbZt2+YXv/hFevfunWHDhuXKK6/Mn/70p0ycOPFLDbnbbrtl\n3LhxOeigg1JbW5t+/fpl/fXXz3nnnZcrrrgirVu3TpcuXb7U2gAAACzr3wrAiRMn5v77788DDzyQ\nmTNnZvfdd88BBxzwlQY488wzl9t2xx13fKU1AQAAWF5JAXj11VdnzJgxefPNN9OuXbucdNJJ2Xvv\nvdOkSZNKzwcAAECZlBSA9957b7p165Zu3bplgw02qPRMAAAAVEBJAehh7AAAAKu+eit7AAAAAL4e\nAhAAAKAgBCAAAEBBCEAAAICCKOkmMGedddbnbq+qqkp1dXXWWWed7LXXXtl4443LOhwAAADlU9IR\nwAULFmTkyJF58sknM3v27MyePTvPPPNM7r333kyaNCmjRo3K/vvvn3HjxlV6XgAAAL6kko4ANmrU\nKPvss08GDBiQhg0bJkkWLVqU8847L9XV1bnwwgtz1VVX5corr8zw4cMrOjAAAABfTklHAB966KGc\ndNJJdfGXJA0aNEjPnj0zZsyYJMmBBx6YiRMnVmZKAAAAvrKSArCmpiZTp05dbvvUqVPToMGnBxHn\nz5+/TCACAADwn6WkU0C7deuWc845J6eddlq23nrr1NbW5oUXXshVV12V/fbbL7NmzcqgQYOy/fbb\nV3peAAAAvqSSAvAXv/hFFi9enP79+2f+/Pmpra1NTU1Nunfvnt69e+exxx7LzJkzc/nll1d6XgAA\nAL6kkgKwfv366du3b3r16pXJkyenfv362WijjVJTU5Mk+eEPf5gf/vCHFR0UAACAr6akAEySTz75\nJK+99loWLlyY2traTJgwoe61du3aVWQ4AAAAyqekAPzzn/+cs846K3Pnzk1tbe0yr1VVVbn7JwAA\nwCqgpAC8/PLL84Mf/CDHH398mjZtWumZAAAAqICSAnDatGm58cYbs8EGG1R6HgAAACqkpOcAtm3b\nNm+99ValZwEAAKCCSjoCeMIJJ+SCCy5Iz549s+GGGy73wHc3gQEAAPjPV1IAnnrqqUmS888/f7nX\n3AQGAABg1VBSAD788MOVngMAAIAKKykA11tvvUrPAQAAQIWtMAC7dOmS3/3ud2nevHn23HPPVFVV\nrXCRhx56qCLDAQAAUD4rDMD99tsvjRo1SpJ07dr1axsIAACAylhhAJ5yyimf+2cAAABWTSU9BzBJ\n7rvvvvzjH/9IklxzzTXZd999c8455+Sjjz6q2HAAAACUT0kBOHjw4FxwwQX5xz/+kXHjxmXw4MHZ\nYYcdMn78+Fx22WWVnhEAAIAyKCkA77333lx22WXZZptt8sc//jHt2rXL+eefn1/+8pf57//+70rP\nCAAAQBmUFIAffPBBttxyyyTJ2LFj07FjxyRJixYtMnfu3MpNBwAAQNmU9BzADTbYIC+//HKmT5+e\nKVOmpFOnTkmSv/zlL9lggw0qOiAAAADlUVIA9uzZM7179069evWyww47ZIsttsi1116ba665Jr/6\n1a8qPSMAAABlUFIAHnjggdl8880zderUutM/t9lmmwwZMiQ77LBDRQcEAACgPEoKwCTZbLPNstlm\nmyVJpk+fntmzZ2eLLbao2GAAAACUV0k3gXnllVey5557Zty4cZk5c2a6du2aXr16ZZ999snYsWMr\nPSMAAABlUFIADhw4MJtsskm++93vZvTo0VmyZEmeeuqpnHjiibnqqqsqPSMAAABlUFIAPv/88zn9\n9NOzxhpr5PHHH8+uu+6aNdZYI127ds2rr75a6RkBAAAog5ICsGHDhqmtrc2CBQsybty47Lzzzkk+\nvRawcePGFR0QAACA8ijpJjDt27fPpZdemtVXXz1Jsssuu+SVV17JL3/5y+y0004VHRAAAIDyKOkI\n4AUXXJAGDRrklVdeycCBA9OkSZPcd999qampydlnn13pGQEAACiDko4Arrnmmhk8ePAy204//fTU\nr1+/IkMBAABQfisMwOuuuy5HHXVUampqct11133hIieccELZBwMAAKC8VhiAI0aMyCGHHJKampqM\nGDFihQtUVVUJQAAAgFXACgPwkUce+dw/AwAAsGoq6RrApWbMmJEFCxYst33ttdcu20AAAABURkkB\n+MQTT+Sss87Khx9+uMz22traVFVVZeLEiRUZDgAAgPIpKQAvvvjibLnllunevXtqamoqPRMAAAAV\nUFIAvvfee/ntb3+b1q1bV3oeAAAAKqSkB8G3b9/eaZ4AAACruJKOAPbv3z8//vGPM3bs2GywwQap\nV2/ZbvQYCAAAgP98JQXgDTfckA8++CCPPvpovvWtby3zmucAAgAArBpKCsD77rsvAwYMyAEHHFDp\neQAAAKiQkq4BrKmpSbt27So9CwAAABVUUgAedthhueaaazJ//vxKzwMAAECFlHQK6PPPP59nn302\nDz74YFq0aJHq6uplXn/ooYcqMhwAAADlU1IAbrvtttl2220rPQsAAAAVVFIAnnLKKZWeAwAAgAor\n6RpAAAAAVn0CEAAAoCAEIAAAQEGsMAB79+6d6dOnJ0nGjRuXRYsWfW1DAQAAUH4rDMA///nPmTVr\nVpLkiCOOyOzZs7+2oQAAACi/Fd4FdNNNN02PHj2y8cYbp7a2NieffPJyz/9b6rbbbqvYgAAAAJTH\nCgPwN7/5TYYNG5bZs2dn3LhxWW+99VJTU/N1zgYAAEAZrTAA11133ZxxxhlJkjfffDP9+vXL6quv\n/rUNBgAAQHmV9CD422+/PXPnzs3w4cPz6quvpkGDBmnbtm322WefNGnSpNIzUhDfbtYwDRo2qsja\nixbMz4xZCyqyNgAArCpKCsC33347PXr0yKxZs/Ld7343S5Ysyd13351rr702w4YNy3rrrVfpOSmA\nBg0b5ekb9q3I2jv99P4kAhAAgGIr6TmAl1xySVq1apVHHnkkd999d+655548/PDD2WijjXLppZdW\nekYAAADKoKQAfPrpp9O3b998+9vfrtu2xhpr5IwzzsjTTz9dseEAAAAon5ICsFGjRqlXb/m3VlVV\neUA8AADAKqKkANxxxx1z2WWXZc6cOXXbZs+enUGDBqVDhw4VGw4AAIDyKekmMGeeeWYOPfTQ7LLL\nLmndunWS5PXXX8+aa66Zm2++uaIDAgAAUB4lBWDLli0zZsyY3HfffXnttddSU1OTQw89NF27dk3D\nhg0rPSMAAABlUFIAJkmTJk1y+OGHV3IWAAAAKqikawABAABY9QlAAACAghCAAAAABVFSAF599dX5\n+OOPl9s+d+7cDBgwoOxDAQAAUH4rDMDp06fnnXfeyTvvvJNrrrkmr7/+et3PS//3zDPP5M477/w6\n5wUAAOBLWuFdQB9//PH07ds3VVVVSZKDDjroc9/XuXPnykwGAABAWa0wALt165ZWrVplyZIl+clP\nfpJrr702zZo1q3u9qqoqjRs3Tps2bb6WQQEAAPhqvvA5gO3atUuSPPzww1l33XXrjgYCAACw6inp\nQfAtW7bM/fffn+effz4LFy5MbW3tMq9fdNFFFRkOAACA8ikpAH/5y1/mzjvvzKabbpomTZos85qj\nggAAAKuGkgLw/vvvzyWXXJKuXbtWeh4AAAAqpKTnAC5atCjbbrttpWcBAACggkoKwD322CMPPPBA\npWcBAACggko6BXSdddbJNddck0ceeSQbbbRRGjZsuMzrbgIDAADwn6+kABw/fny23nrrJMk777yz\nzGtuAgMAALBqKCkAb7/99krPAQAAQIWVdA1g8umNYB544IFcffXVmTlzZv76179m+vTplZwNAACA\nMirpCOD777+fI488Mu+9914++eST7L///rn11lvz4osvZujQoWnTpk2l5wQAAOArKukI4CWXXJK2\nbdvmmWeeSaNGjZIkl112WbbccssMHDiwogMCAABQHiUF4LPPPpuTTjppmbt/NmnSJKeddlqef/75\nig0HAABA+ZQUgJ988kmqq6uX275gwYLU1taWfSgAAADKr6QA3HnnnXPjjTcuE3tz5szJFVdckQ4d\nOlRsOAAAAMqnpJvAnH322enRo0c6duyY+fPn55RTTsnUqVPTvHnzDBkypMIjAgAAUA4lBeA666yT\nUaNG5f7778/EiRNTXV2dNm3apGvXrnU3hQEAAOA/W0kBmCTjx49Py5Ytc/DBBydJfvnLX2b8+PHZ\ncccdKzYcAAAA5VPSNYAjR47MT3/607z++ut122bNmpWePXvmwQcfrNhwAAAAlE9JRwCvv/76nH/+\n+XVH/5Lk0ksvzfbbb59rr702e++9d8UGBAAAoDxKOgL4zjvvfO6pnjvttFPeeuutsg8FAABA+ZUU\ngK1atcpjjz223PYnn3wyLVu2LPtQAAAAlF9Jp4Aee+yxOffcczNhwoT813/9V5Lk5ZdfzqhRo9Kv\nX7+KDggAAEB5lBSA3bp1S8OGDXPbbbflwQcfTHV1dVq3bp0rr7wyP/zhDys9IwAAAGVQUgDedddd\n6dy5c/bZZ59KzwMAAECFlHQN4KBBgzJ79uxKzwIAAEAFlRSA3/ve9/LUU09VehYAAAAqqKRTQNdc\nc81cfPHFue6667LBBhukpqZmmddvueWWigwHAABA+ZQUgDU1NenWrVulZwEAAKCCSgrAAQMGVHoO\nAAAAKqykawCTZNasWbnhhhty1lln5cMPP8wf//jHTJ48uZKzAQAAUEYlBeAbb7yRvffeO3/4wx8y\nevTofPTRR/nTn/6Ugw46KM8991ylZwQAAKAMSgrAAQMGpEuXLnnooYdSXV2dJLn88suz1157ZdCg\nQRUdEAAAgPIoKQBfeOGF/OQnP1n2F+vVy09/+tNMmDChIoMBAABQXiVfAzh//vzltn344Ydp2LBh\nWQcCAACgMkoKwN133z1XXXVV5s2bV7ft7bffzq9+9avsuuuuX3mIDz/8MLvssksmT56cKVOm5LDD\nDkv37t1z/vnnZ8mSJV95fQAAAEoMwLPOOiuzZs1Khw4d8vHHH+fggw/OnnvumYYNG6ZPnz5faYCF\nCxemX79+dQ+XHzBgQHr16pXhw4entrY2Dz/88FdaHwAAgE+V9BzA1VdfPXfddVeefvrpTJw4MdXV\n1Wnbtm122mmnrzzAwIEDc+ihh+aGG25IkvzP//xP2rdvnyTp1KlTnnzyyXTu3Pkr7wcAAKDovjAA\nP/roozzzzDNp2LBhtt1223z/+9/P97///bLt/J577skaa6yRjh071gVgbW1tqqqqkiSNGzfOnDlz\n/uU69etXpXnz1co214p8Hfuwv2/O/gAA4D/NCgPwlVdeybHHHpsPP/wwSbLWWmvl6quvzlZbbVW2\nnf/hD39IVVVV3ZHFPn36ZPr06XWvz5s3L6uvvvq/XGfx4trMnPlRkqRFi6Zlm++zlu7jn9lf+fZX\nyX193v4AAOCbotR/S6/wGsBBgwalVatWueuuuzJixIhsvPHG6d+/f9kGTJJhw4bljjvuyO23357v\nfe97GThwYDp16pRnn302SfL4449n++23L+s+AQAAimqFAfj888+nX79+2WabbbLVVlvl4osvzsSJ\nE/PRR5U9itKnT58MHjw4hxxySBYuXJguXbpUdH8AAABFscJTQOfNm5fvfOc7dT9vsMEGqV+/fmbO\nnJnVViv/tVS333573Z/vuOOOsq8PAABQdCs8ArhkyZLUq7fsyw0aNMjixYsrPhQAAADlV9JzAAEA\nAFj1feFjIG677bZ861vfqvt58eLFGT58eJo1a7bM+0444YTKTAcAAEDZrDAA11133YwePXqZbd/5\nznfy0EMPLbOtqqpKAAIAAKwCVhiAjzzyyNc5BwAAABXmGkAAAICCEIAAAAAFIQABAAAKQgACAAAU\nhAAEAAAoCAEIAABQEAIQAACgIAQgAABAQQhAAACAghCAAAAABSEAAQAACkIAAgAAFIQABAAAKAgB\nCAAAUBACEAAAoCAEIAAAQEEIQAAAgIIQgAAAAAUhAAEAAApCAAIAABSEAAQAACgIAQgAAFAQAhAA\nAKAgBCAAAEBBCEAAAICCEIAAAAAFIQABAAAKQgACAAAUhAAEAAAoCAEIAABQEAIQAACgIAQgAABA\nQQhAAACAghCAAAAABSEAAQAACkIAAgAAFIQABAAAKAgBCAAAUBACEAAAoCAEIAAAQEEIQAAAgIIQ\ngAAAAAUhAAEAAApCAAIAABSEAAQAACgIAQgAAFAQAhAAAKAgBCAAAEBBCEAAAICCEIAAAAAFIQAB\nAAAKQgACAAAUhAAEAAAoCAEIAABQEAIQAACgIAQgAABAQQhAAACAghCAAAAABSEAAQAACkIAAgAA\nFIQABAAAKAgBCAAAUBACEAAAoCAEIAAAQEEIQAAAgIIQgAAAAAUhAAEAAApCAAIAABSEAAQAACgI\nAQgAAFAQAhAAAKAgBCAAAEBBCEAAAICCEIAAAAAFIQABAAAKQgACAAAUhAAEAAAoCAEIAABQEAIQ\nAACgIAQgAABAQQhAAACAghCAAAAABSEAAQAACkIAAgAAFIQABAAAKAgBCAAAUBACEAAAoCAEIAAA\nQEEIQAAAgIIQgAAAAAUhAAEAAApCAAIAABSEAAQAACgIAQgAAFAQAhAAAKAgBCAAAEBBCEAAAICC\nEIAAAAAFIQABAAAKQgACAAAUhAAEAAAoCAEIAABQEAIQAACgIAQgAABAQQhAAACAghCAAAAABSEA\nAQAACkIAAgAAFIQABAAAKAgBCAAAUBACEAAAoCAarMydL1y4MGeffXamTZuWBQsW5MQTT0ybNm3S\nt2/fVFVVpW3btjn//PNTr55OBQAA+KpWagCOGjUqzZs3z2WXXZaZM2emW7du2WyzzfL/sXefYVFe\n39rA7xEYsCBWNCpBjb134z+xlxgjaKIIFqxoDMaGhiKKJSAag0ZjQY0VsSBqgpUEjWJM0aBGRY0i\n2AsooIL0mfcD1zNnBjXnvOfM3mNm7t+nEbxmDTDzPHvtvfba06ZNQ8eOHREUFISjR4+id+/epnyZ\nREREREREZsGkS2t9+/bF1KlTAQBarRZWVlZITExEhw4dAABdunTBr7/+asqXSEREREREZDZMmgCW\nLVsW5cqVQ1ZWFqZMmYJp06ZBq9VCpVLpvv/8+XNTvkQiIiIiIiKzYdISUAB48OABJk2ahGHDhsHF\nxQVLlizRfS87Oxvly5f/b5/DykqFChXKiHyZACAlBuOZTzwiIiIiojeNSRPAx48fY+zYsQgKCkKn\nTp0AAE2aNMEff/yBjh07Ij4+Hu++++5/+zxFRVpkZr4AAFStai/s9Sox9DGe8eKJjPWqeERERERE\n5uJ/OpY2aQloeHg4nj17htWrV8PT0xOenp6YNm0avv32W7i7u6OgoAAffPCBKV8iERERERGR2TDp\nCuDs2bMxe/bsl76+bds2E7waIiIiIiIi88YD9oiIiIiIiCwEE0AiIiIiIiILwQSQiIiIiIjIQjAB\nJCIiIiIishBMAImIiIiIiCwEE0AiIiIiIiILwQSQiIiIiIjIQjABJCIiIiIishBMAImIiIiIiCwE\nE0AiIiIiIiILwQSQiIiIiIjIQjABJCIiIiIishBMAImIiIiIiCwEE0AiIiIiIiILwQSQiIiIiIjI\nQjABJCIiIiIishBMAImIiIiIiCyEtalfAJGpVHBQw0ZtK+S5C/LzkPk0X8hzExERERH9bzEBJItl\no7ZF7IZ+Qp77g3GHADABJCIiIqI3C0tAiYiIiIiILAQTQCIiIiIiIgvBBJCIiIiIiMhCMAEkIiIi\nIiKyEEwAiYiIiIiILAQTQCIiIiIiIgvBBJCIiIiIiMhCMAEkIiIiIiKyEEwAiYiIiIiILAQTQCIi\nIiIiIgvBBJCIiIiIiMhCMAEkIiIiIiKyEEwAiYiIiIiILAQTQCIiIiIiIgvBBJCIiIiIiMhCMAEk\nIiIiIiKyEEwAiYiIiIiILAQTQCIiIiIiIgvBBJCIiIiIiMhCMAEkIiIiIiKyEEwAiYiIiIiILAQT\nQCIiIiIiIgvBBJCIiIiIiMhCMAEkIiIiIiKyEEwAiYiIiIiILAQTQCIiIiIiIgvBBJCIiIiIiMhC\nMAEkIiIiIiKyEEwAiYiIiIiILAQTQCIiIiIiIgvBBJCIiIiIiMhCMAEkIiIiIiKyEEwAiYiIiIiI\nLAQTQCIiIiIiIgvBBJCIiIiIiMhCMAEkIiIiIiKyEEwAiYiIiIiILAQTQCIiIiIiIgvBBJCIiIiI\niMhCMAEkIiIiIiKyEEwAiYiIiIiILAQTQCIiIiIiIgvBBJCIiIiIiMhCMAEkIiIiIiKyEEwAiYiI\niIiILAQTQCIiIiIiIgvBBJCIiIiIiMhCMAEkIiIiIiKyEEwAiYiIiIiILAQTQCIiIiIiIgvBBJCI\niIiIiMhCMAEkIiIiIiKyEEwAiYiIiIiILAQTQCIiIiIiIgvBBJCIiIiIiMhCMAEkIiIiIiKyEEwA\niYiIiIiILAQTQCIiIiIiIgvBBJCIiIiIiMhCMAEkIiIiIiKyEEwAiYiIiIiILAQTQCIiIiIiIgvB\nBJCIiIiIiMhCMAEkIiIiIiKyEEwAiYiIiIiILAQTQCIiIiIiIgvBBJCIiIiIiMhCWJv6BRBZigoO\natiobYU8d0F+HjKf5ht8zaGCDdQ2dkaPlV+Qi6eZBS993dzjEREREZkDJoBEktiobRG9qa+Q5x48\n5ggAwwRQbWOHTVv6GD3WmFE/Ang5QVLb2GFF5AdGjzdleOxr482LMn68eUNeHa98BTVsbYyfwOcV\n5OFZZv5//x+JiIiIjIAJIBHR/4CtjS3G7DN+Ar/p45eTdyIiIiJRuAeQiIiIiIjIQjABJCIiIiIi\nshBMAImIiIiIiCwEE0AiIiIiIiILwQSQiIiIiIjIQjABJCIiIiIishBMAImIiIiIiCwEE0AiIiIi\nIiILwQSQiIiIiIjIQjABJCIiIiIishBMAImIiIiIiCwEE0AiIiIiIiILwQSQiIiIiIjIQjABJCIi\nIiIishDWpn4BRET0MvsKtrCzURv9eXML8vE8M+8NiGcHOxsbAfEK8DwzV0qs18UjIiJ6kzEBJCJ6\nA9nZqPHhD5OM/ryHB6zCc7yckNnZqNFvX7DR4x36ePZr4tngo70rjB7v4CdT8ByGCZmdjQ0+2vOd\n0WMBwMFBXi/FY8JJRERvMiaARERERmRnY4P+0ZFCnvvA4OEvJZxERET/P7gHkIiIiIiIyEIwASQi\nIiIiIrIQTACJiIiIiIgsBBNAIiIiIiIiC8EEkIiIiIiIyEIwASQiIiIiIrIQTACJiIiIiIgsBBNA\nIiIiIiIiC8EEkIiIiIiIyEJYm/oFEBER0f+efYXSsLMRczvPLSjE88wcIc9NRESmwQSQiIjoX8zO\nxhou0XuFPPf+wZ/geYmviUo4mWwSEcnxRiaAGo0G8+bNw99//w21Wo3g4GA4Ozub+mURERFZPDsb\nawyIPmL05/1hcN+Xkk0iIjK+N3IPYFxcHPLz87Fr1y7MmDEDixYtMvVLIiIiIiIi+td7IxPAhIQE\ndO7cGQDQqlUrXLp0ycSviIiIiIiI6N9PpdVqtaZ+ESUFBgaiT58+6Nq1KwCgW7duiIuLg7X1G1mx\nSkRERERE9K/wRq4AlitXDtnZ2bp/azQaJn9ERERERET/R29kAtimTRvEx8cDAM6fP48GDRqY+BUR\nERERERH9+72RJaBKF9Br165Bq9Vi4cKFeOedd0z9soiIiIiIiP7V3sgEkIiIiIiIiIzvjSwBJSIi\nIiIiIuNjAkhERERERGQhmAASERERERFZCCaAZuTIkSMoLCw09csgIiIiIqI3lMUdrnfjxg1dR9E7\nd+4gJyfHbI6ZuHTpElavXo333nsPgwcPltY59ebNm7h16xYaNmyIatWqQaVSSYlL9E8KCwsNzg99\n9uwZypcvLzRmVlYW7t69i7fffhtlypQRGouM5/nz57C2tkbp0qV1X7t37x5q1qxpwldlfL/99htu\n376Nli1bok6dOrC1tRUaLzU1FYWFhdBqtUhNTUXr1q2FxDlz5ozBv62trfHWW2+hevXqQuIVFRXh\n8uXLyM3N1X2tffv2QmKZmkajQalS5rFWkJ+f/9rvqdVqia9ELFPc+yxFQUEBbGxshMbQaDTQarU4\nd+4cWrRoIey9aVFdQGNjY7F06VJER0fD3t4eZ8+eRUBAAL744gv06tVLSMxr165h3rx5ePbsGVxd\nXVG/fn10795dSCyg+I0THx+PPXv2IC0tDUOGDIGLi4uwN+y2bdvw008/4enTpxg4cCBu376NoKAg\nIbEAICAg4KWvhYaGCosn4+/3/vvvv/Z7v/zyi1FjAYCnp+drk/StW7caPZ7i+PHj2L59u8GgSUS8\ntLQ0ZGVlwc/PD1999RW0Wi00Gg38/PwQHR1t9HiKI0eOIDw8HEVFRejbty9UKhW8vb2FxZN1bSk5\nuNYnYtC7a9eu137P3d3d6PF2796N9evXQ6PRwN3dHePHjwcAjBw5UujnQbalS5fi4cOHuHHjBkaM\nGIGTJ09i6dKlwuLNmjUL58+fR05ODnJycvD2228jKipKSKzhw4fj8ePHaNq0KS5fvgwbGxvk5+fD\nzc0NXl5eRo83adIkPHv2DFWrVgUAqFQqhIWFGT2OIioqClu2bEFubi60Wi1UKhWOHj0qLF5MTAys\nrKyQn5+Pr776Cl5eXhg3bpzR48i+9/Xo0QMqlQolh72ifp9TpkzBihUrAAAnTpxA165djR5Dn+x7\nn8yxRHBwMGbPng0AuHr1Kho1amTU53+dHTt2YPPmzbqJLGtra/z444/C4oWEhOCdd97B/fv3kZiY\niCpVqmDx4sVCYlnUCuDGjRuxa9cu2NvbAyg+cH779u347LPPhCWAISEhCA0NxezZszF48GB4eXkJ\nSwpJ0xcAACAASURBVAC1Wi1++eUXfP/997h37x5cXV2RkZGBiRMnYsOGDUJiHjx4EJGRkRg1ahRG\njx6NQYMGCYmj6NevH4Din/Xy5ctITU0VGk/G30/Eje6fzJ8/HwCwatUq9OzZE23btsWFCxfw888/\nC427fPlyBAQEoEqVKkLj/PXXX9iyZQtSUlIwZ84cAECpUqX+cbBhDJs3b0ZUVBTGjRsHb29vDBo0\nSGgCKOvasmPHDgDA7du3UVBQgObNm+Py5csoW7YsIiIijB4vLS3N6M/5T6KionDgwAEAxRNM4eHh\nmDhx4kuDRGNxcXFBRkbGK78n8lqQkJCAyMhIeHp64uOPP9b9XUW5evUqDh48iKCgIEyfPh1Tp04V\nFsvOzg4xMTGwtbVFfn4+Jk+ejG+//RYjRowQkgBmZGRg+/btRn/e19m5cyfWrVunSzhF27p1K9av\nXw8fHx+cOHECY8eOFZIAyr73HTt2TGo8/c/5hg0bhCeA+ve+oKAgaLVaofc+mWOJa9eu6R4vXLhQ\n2uTc9u3bERERgTVr1qBv377YsmWL0HgXL15EYGAgPD09ERERgVGjRgmLZVEJoFqtRoUKFQy+Vrly\nZeFlMM7OzlCpVKhUqRLKli0rLE6fPn3Qrl07eHp6om3btrqvJyUlCYupzEYqs0Ciyyg6d+6se9yl\nSxeMHTtWaDxA3t/v/Pnz2Lt3LwoKCgAUl0+JSNzr1q0LAHj8+LEuoe7du7eQwbw+BwcHdOjQQWgM\nAOjVqxd69eolZcZVn5WVFdRqte7zoF9OKIqM96aySjRhwgSsXr0a1tbWKCoqwoQJE4TE+/zzz3WP\nS5YQiqD83QBg8eLF8PLyQq1atYSVsq9cuRI+Pj6IjIyEnZ2dkBivUlRUhLy8PKhUKhQVFQkv66tY\nsSJUKhVevHiBSpUqCY2VkZGhu4+r1WpkZGRArVZDo9EIiVejRg08ePAAb731lpDnL6lixYpSy5GV\n92XZsmWhVquF9xaQde9THD16FNu3b0dBQQG0Wi0yMzOxf/9+YfEACJtQ0if73idzLKH/+5NZuOjo\n6AhHR0dkZ2ejY8eOWLlypdB4Go0Gly5dQq1atZCfn4/s7GxhsSwqAVSpVMjNzTW46ebk5OguOiI4\nODhg586dyMnJwcGDB4XWYe/btw8AcPfuXbx48UK3B0lkiWT//v0xfPhw3L9/H+PHjxe2kqrQnzFM\nS0vD48ePhcaT+febN28evLy8EBsbiwYNGvzjfgVj2b17N1q0aIFz584JKxNWSvpsbGwwZ84cNG3a\nVDe4FlHS5+Pjo3v+mJgYg++JLNNq27YtfHx88OjRIwQFBaF58+bCYgFy35uA4cpcUVER0tPThcbT\nLyHMzc2Fk5OTkBLCNm3aYPLkyVi4cCHs7e2xfPlyjBkzBnfv3jV6LKA4aR85ciT++OMPqRMUo0aN\nwieffIL09HS4ublh9OjRQuM1bdoUGzZsgKOjI6ZPn25Q+m1sPXv2xNChQ9GiRQtcvHgRPXr0wPbt\n21G/fn2jxlFWUvLz83HkyBGDCWURq1nK5Et+fj7GjRuHJk2a6K5tPj4+Ro+ncHJygru7OwICArBy\n5Uo0bNhQWCxA/r3vm2++wYIFC7Bz50507NgRp06dEhZLSTJLPhY5WW5jY4P4+HhotVp8+eWXmDp1\nKlxcXITFA8SPJfQn5GT2mbC3t0dcXBxUKhV27tyJzMxMofEGDhyI+fPnY+HChViyZImQMZLCovYA\nxsXFYcuWLRg1ahScnJzw4MEDbNiwAe7u7ujfv7+QmFlZWQgPD8e1a9fwzjvv4NNPP31pFdJYYmNj\nsWbNGml7kBRJSUm4fv066tatK/xGob8HUK1Ww83NDc2aNRMWT+bfb8yYMdi0aRMCAgIQGhqKESNG\nYNu2bUJiAcUD+vDwcNy8eRP16tXDxIkTUbFiRaPH+acZM/3VHmM5ffr0a78negUyPj5e914RudcX\nkPveBIDIyEhs3boVDRo0wPXr1zF+/HihJd+ffPIJ9uzZY1BCKGqV+o8//kDr1q11g7K8vDzs2LFD\neJIk29OnT3H79m3UqlVLyGe9pOzsbNja2iI+Ph4tWrQQWv599epVJCcno169emjQoAHS09N1q5DG\nVnL1T7+5nDEpk7olqVQqDBw40Ojx9GVnZ6Ns2bJIS0sTXnoq+943btw4bNiwAX5+fli8eLGu3M7Y\nlD2HgOGqleg9nG5ubggLC8P8+fOxaNEiTJs2DZGRkcLiyRhLNG/eHJUrV4ZWq0V6errusUqlwvHj\nx40aS19WVhbu3LmDSpUqYdOmTejevTs6duwoLN6GDRuElFu/ikWtAPbq1QuVKlXC7t27kZqaipo1\na2LGjBlo1aqVsJhz584Vuuqgb9OmTVL3IAHF+2dSUlLg5+eHsWPHwtXVVeiNadKkSbh//z6qVasG\nZ2dnPHjwAE+ePEHlypWFxLty5Qq6du2qm6lPSUkR1l2uVKlSuH79OnJycpCcnIynT58aPYa+qlWr\nwtvbG3l5eQCKV8NFDAr1k7ysrCwAxZMxohKkDh06IDExEQ4ODqhevTq+++47FBQUCK2lB4AnT54g\nPj4eKSkpePLkCdq0aQMHBwdh8WReW4DiRht9+/bF7du34ezsLLysT2YJYceOHZGVlYVVq1YhNTUV\n3bt3l5LAr1+/XhevYcOGcHZ2Fhbv7NmzmD9/Pp48eQJHR0eEhISgcePGwuI9evQIS5YsQXp6Ovr2\n7Yt79+4JSwAfPHiAkydPIi8vD8nJyfjxxx+FTC5du3YNqampWLJkCXx9fXVNNsLCwvDDDz8YPd7H\nH38MAFiwYIFBczVfX1+h99nr169j7ty50prXyb732djY4MyZMygsLMTJkydfuyf3/0r2nkOFnZ0d\nKleuDGtra1StWlX4ipmMscT58+eN+nz/U6VLl8alS5dw//59dO/e3ehVBSWdOHECo0ePhpWVldA4\ngIUlgEBxuY+joyPu3buH6tWr65IItVotJInIz8/H1atXUadOHeH75EyxB2nHjh3YvXs3AGDt2rUY\nMWKEkBtTdnY2ZsyYgczMTNSoUQM3b95ExYoVUaZMGfj5+Rk9nuKbb76R1l3O398f169fh6enJ2bO\nnCm8oc68efMQHx8PR0dH3Uzazp07hcWbPn06unXrhnPnzkGj0eCnn37CqlWrjB4nNDQUFy9eRGFh\nIezt7XU1/F988QXWrl1r9HiKadOmoV+/fhg8eDASEhLg6+srNJ7MawtQPBmya9cu3U0eEFteXrKE\nMCcnR1gsoLjktEuXLjhz5gyqVKmCwMBAoasQsuMFBwcjLCwM9erVw7Vr1xAUFCT08z5nzhyMGTMG\nq1evRrt27eDv7y+sC+jUqVPRqVMn4Xvynj17hoMHD+LJkye6xkEqlQrDhg0TEi8yMhJr1qzB06dP\nDToPij7iKTg4WFrzOkD+vW/+/PlITk7GZ599huXLl+Ozzz4TEic/Px87duzAyJEjkZqaipCQEKjV\navj5+QldVS1Xrhy8vLzg7u6OyMhI4RNoMsYSVlZWOH78OLp164asrCysXbsWarUaXl5eQse6QUFB\ncHR0xK+//ormzZvDz88P69evFxYvIyMDnTt31u1DFzkus6gE0BRJREpKisEqnMilf9l7kIDimTvl\nvBkbGxthM01hYWHo27evQXIZHByMO3fuoFatWkJiAnK7y9WvX183u7R3716jPverXLhwAXFxcdLO\neEpNTcWAAQMQHR2NiIgIYeV1586dQ1RUFPLy8tC3b19dMwFPT08h8fQNHToUANCoUSMcOXJEaCyZ\n1xageJA2YsQIYWerleTj44OsrCzY2dkhPj4eLVu2FBovMzMTgwcPRkxMDNq0aSOsgYip4tnb26Ne\nvXoAgAYNGghvQJObm4tOnTphzZo1qFu3rtBma2XLlsX06dOFPb+iXbt2aNeuHRITE9G0aVPh8YYP\nH47hw4frOtPKJKv5GSD/3peXl4cnT56gU6dOcHZ2FnZtWbBgAcqWLQuNRoN58+ahefPmqF+/PubN\nmydk8lOxfPly3L59WzfZ4+bmJiwWIGcssWzZMly/fh3vv/8+goODYWNjA2dnZ8ybN0/YMQlAcffr\nkJAQJCQkoEePHli3bp2wWAAQHh4u9Pn1WVQCaIokQpkllMHHxwfx8fFo0qSJlD1IQPHm+2HDhqFF\nixZITExEjx49hMS5evXqS+cL3r17V3jLeJnd5fRbNWdmZsLJyQmHDx82ehyFs7Mz8vLypKwUA8Ub\n4H/88UfUq1cP6enpwrpbKX8vW1tbg8+16DKYunXrIiYmBh07dkRiYiIqVKiAlJQUAECdOnWMHk/m\ntQUAqlSpInwgoa/k3tHLly8LKevTd+PGDQDAw4cPpZTgyIxXuXJlBAYG4t1330ViYiI0Go2uQZOI\nRgO2trY4efIkNBoNzp8/L3R1un79+jh48CAaN26s+5yL+MwpHj58iKVLl0rrIunh4YEDBw4YdMT9\n9NNPhcWT3WAqPDwc3333ncGkhMgjInx9feHv7w8A6NatGwIDA4W0909KSsLOnTuRl5eHhIQErFix\nAjY2Nti4caPRY+lTq9UGkz2iyRhL/PHHH9i5cycKCwvx888/4/jx4yhdujQ8PDyExQQMG55lZWUJ\nnzAvLCzEkSNHDDriLliwQEgsi0oATZFEvOqgTGOfX1Ly4GR7e3ukpqZi165dQjsIAYC3tze6d++O\nlJQUDBw4UNjhnK/qVbR69WqMGDFCSDyFrO5ygOEN7969e8LbDT948ADdu3fX7TsSXQLq5eWFgwcP\nIiAgABEREcL2p+bl5eHmzZvQaDQGj0V2IQSA5ORkJCcn60qigeLyEZVKJeTMIhnXFn01a9bEunXr\nDAbZIs9WVPaLKWd+il4hmz17NmbNmoUbN25gypQpmDt3rlnFU1q237p1C+XKlUOHDh2E3vu+/PJL\nLF68GBkZGdi4cSPmzZsnLNaVK1dw5coV3b9FfeYUJbtI/vrrr8JiAcX7qOvWrYtr167B1tZW+KTd\nwoULER4ejooVK+LSpUsICQkRGu/QoUM4efKktMlIALreD+3atRN2bVFWTs+ePYvmzZvrumPql9Eb\nU8mxoD6RY0EZYwnld3nx4kXUq1dP914RfUTJ9OnTMXToUKSlpcHd3R2BgYFC482YMQO9e/fG2bNn\n4ejoiBcvXgiLZVEJoCmSCOWgTK1Wi8TERIOblLHIPjhZ34MHD/DLL7/oNt/HxcUJmaWvVKkSLl68\naFDWeunSJeGd7CZNmoSePXsiOTkZgwYN0nWXU0r9RKlZsyaSk5OFxpDVQKSwsBDW1tbo1q0bunXr\nBgDC9lwAxSsPc+bMgUql0j1Wvi7SsGHD0Lt3b11JtGgyri36CgoKkJKSolvVBMQmgCVndkUc6K2v\nQYMGWLNmDW7fvo3atWsL7ahqinhPnjzBkCFDhDZ+0bd582YsW7ZMSizRZ5iW5OjoiNatW2Pnzp34\n5JNPXtut01i0Wi0WLFiAgIAAhISECNtz+PDhQ1SvXh1paWkG+/AyMjKEvj9r1aol9UzM8uXLY9eu\nXWjVqhUuXLggrMS1bNmy2LVrF2JjY9G/f39oNBrExMQI26uanJyMn3/+Ga6urkKe/3VkjCWsrKzw\n22+/Yc+ePejduzeA4sTa3t5eaNwHDx4gNjZWaFdhfWXKlMGnn36KmzdvIjQ0VNhnHbCwBNAUSYQy\n6woUb9yOjo42eoyPPvrI6M/5PyVr872/vz8mTpyITp06wcnJCXfu3MFvv/0mvF761q1bOHHiBAoK\nCpCcnIxt27YJW47XP78uNTVVWGdThZWVFRYuXIgbN26gdu3aBkdsGJOfn5+u/FqlUukmYkTtWVMG\ngz/88AMGDBhg9Od/ncTERISHh+M///kPBg8eLLxRg4xri77Q0FBcu3YNSUlJqFOnjvBEQj/RTEtL\nw/3794XGU465qFevHpKSkuDt7S30/SM7Xvfu3REeHo5Hjx7B1dUVrq6uKFeunLB4SUlJePbsmdDy\nwSlTpmDFihWvnIgQWUIoq4ukwsrKCnl5ecjJyYFKpUJRUZGQOMpRDErlgv61WuSKakFBAVxcXHTl\niiqVSmhSsWjRIqxZswY//fQT6tWrh4ULFwqJM2/ePGzYsAFdunTBxx9/jN9//x2xsbG6yTtjCwgI\nQHJyMrp06YIWLVoIiaEvPT0d69atg62tLUaPHq0bS69cudLoCwGzZs1CWFgYqlSpguHDh+OXX37B\nokWLsHz5cqPGKSkqKgqurq7CG+koVCoV0tLSkJ2djRcvXghdAbSocwBv376Nzz777JVJhJOTk5CY\n+kvyaWlpOH78uNEHakopmNJ9CSiesbt58yYuXrxo1FglKef3yJCTk4Njx47h3r17qFGjBnr06KE7\n7F6UwYMHo3fv3vjjjz90y/ErVqwQEkv//DpbW1s0a9ZM6L4gLy8vDB06FO3bt8fp06cREREhZB+E\nqYg+S+pVNBoN4uPjsWfPHqSlpWHIkCFwcXERcjCu/rUlNTUVJ06cEJoERkRE4MCBA7rDfj/88EOh\n5xXpN+2xtbWFp6en0IPTBw4ciF27dsHW1hY5OTkYMWIE9uzZYzbxFOnp6QgJCcGxY8fwwQcfwNvb\nG2+//bbR43Tv3h2PHj0ymDUXmZTJ9OjRIyQnJ6Nq1apYvnw5+vbtK3QiNjY2Frdu3ULFihXx7bff\nom3btkJXV48dO2awn//QoUPo16+fsHivOrtVxJmtygqn/uSSQsSeUeVcw507dwrfq6ZIT09HTk4O\natasKTyWl5cXevfujcLCQmzfvh3r1q1DzZo1MXLkSGETBpcvX0aTJk10//7zzz/Rrl07IbEAYMiQ\nIcjPz9d12xY9OXHmzBkkJSXB0dERc+bMwYABA4Q1qbSoFcC3334b0dHRuiSiVatW8PHxEZpE6Jdn\nqtVqIbMV+uUvFy5cwLZt23Djxg0MHjzY6LFKkrn5vnTp0ujatSvWr1+PU6dOQa1WCz87S9Zy/L17\n9/DHH3/g/v37cHR0xKBBg3D8+HHUqFFD2EpLXl4eevbsCaD4jEzRifypU6ewefNmg/0PImeV8/Pz\nMXDgQNSpU0e3cVvkhVur1eKXX37B999/j3v37sHV1RUZGRmYOHGirhOpMelfW+zs7PDNN98YPYa+\nAwcOIDIyEtbW1igoKICHh4fQBPC7775DWloaqlSpAjs7Ozx79gw5OTnC9glVrlxZN+FiZ2cnvCRT\ndrwbN25g7969+Pnnn9GxY0dERkaisLAQ06ZNE9J58eeffzb497lz54weQyH7iJJq1aqhWrVqOHv2\nLEaMGCH0YGgA+OCDD3SPP/zwQ2Ertz///DPOnj2LgwcP6s5d02g0OHr0qNAEsEmTJli1apWuGkXU\n/vCSK5wAdBPnIu5F58+fx+LFixEbG/tSBYOPj4/R4wHFlW6yDhPPz8/X7S1s3LgxvL29ERER8crt\nVv9XCQkJSElJMfjZtFottmzZIrQh2syZMw3+LbKXQFFREdq3b4/27dsjOzsbJ06cEDJ5rLCoBFB/\nxtzBwQHZ2dm6zl2iNsiWKlXK4GIWFhaGGTNmGDVGfn4+Dh48iO3bt8PGxgZZWVk4evSolJp62Zvv\nZZ+dJWM5/sKFCwgMDMSIESPQqlUr3Lx5E+PHj4ejo6OQxEFRVFSEv//+Gw0bNsTff/8tvLY9NDQU\ns2bNknaMQMkLt2h9+vRBu3bt4OnpibZt2+q+npSUJCTe559/jufPn0OlUiEuLk74XgitVmtw5Iuo\nG1NBQQFCQ0MRHx+PKlWq4P79++jWrRsKCgowZswYYV3ttFotBg4ciNatW+Py5csoLCzUXatFTBzI\njjd79mwMGTIEn3/+uUESLfLMtfz8fOzfvx+RkZHIz88XNlCTdURJTEwMFi9eDAcHB/Tr1w+xsbEo\nX748mjVrJqSE/sGDB9iwYQMqVaqEnj17YvLkySgsLMT8+fPRuXNno8dr1KgRMjMzYWtrq5vIValU\nwreZzJo1C+3bt4erqytOnz4Nf39/Ids7lL9R165dhe8pBoB169YhISEBx48fF9qVtiRZh4nrjyHa\ntGmDTz/9FJ999pmQcVLZsmVx9+5d5OXl4e7duwCKx9eiEmmFshJ9584dREZGIiYmRkjTp2vXrmHS\npEmIjo6Gg4MDfvvtNyxatAjh4eG6jq7GZlEJoMxmKbt370Z0dDRu3LiB+Ph4AMUfFv2bvLH06NED\n/fv3x5IlS1C7dm14eXlJ21AdERGB58+f4969e3BychJ+XpDss7M+//xz/PTTTxgwYAB69eolZI/O\n8uXLsXbtWtSoUQMA0LlzZ9y6dQtXrlwR2jp9zpw5mDVrFtLS0uDo6Igvv/xSWCwAeOutt/Cf//xH\naAygeGZ1wYIFQkqIXuXEiRPo2rUr9u3b98qZeVErEdOnT0e3bt1w7tw5aDQa/PTTT0LPlmrbti2m\nTJmCtm3bIiEhAa1btxYSZ9WqVahcuTLi4uIAFK9AzJ49G0+ePBHa0lz/nDUXFxdhcWTHW7t2LT79\n9FPs2LHjld8fPny40WPevXsXkZGROHz4MLRaLZYtW4Y2bdoYPY5C1hElW7ZsQWxsLJ4/f46BAwfi\n2LFjKFOmjLCmYL6+vnBxccHTp0/h6emJFStWoHr16vDz8xOSAFatWhUff/wxPvzwQ2nnwwLFW1aU\nku/GjRsjNjZWaLz4+HiMGTNGeILk5OQEJycndOzYUXifBH2yDhOfPXs2goODsWzZMlSpUgX9+vVD\nQUGBkD2VjRo1QqNGjeDu7i71d3nixAls27YNZ8+exYQJE/D9998LiRMSEoKlS5fCwcEBQHFVVqVK\nlRAcHIzNmzcLiWlRCaD+ptTjx4/j+vXrqFOnDnr16mX0WAMGDECnTp2wdu1a3Y2+VKlSQhp7jBo1\nCvv378e9e/cwePBgIcvvrxMbG4s1a9agqKhI1+RDVPmGQubZWVlZWbqyz549e+LQoUNGj1FQUKBL\n/hROTk64fPmy0WMpioqK0LhxY+zZs0d32Lbo7pWVK1dGUFAQmjRpolttFLHy3rp1a7i7u2P+/PlC\n9wYoNmzYgK5duwptqPEqqampGDBgAKKjoxEREYHRo0cLjefn54fjx4/jxo0b+OSTT3QdXY3tjz/+\nMEhWSpUqhUePHglvtLFo0SK4urpi4MCBwssxZcY7deqU0DPjSpo4cSKysrIwYMAAHDhwANOmTROa\n/AHyjigpU6YMypUrh3LlyqF+/fq6CU9RE3UajQZDhgwBABw5cgTvvvuu7nWIoDTs6tevn5SGXYq8\nvDykpaWhatWqePz4sfCJXVkJkuKHH36Qes6hrMPEGzdujIiICIOyzAEDBgid0IqOjn7puAsRv8uN\nGzdi3759aNiwIcaOHQuNRiP0OqrRaAwaVAJAmzZtdOcBimBRCaAiLCwMt27dQps2bfD9998jISHB\n6Jss1Wo1atWqhaCgIFy6dEl3gGtCQgL69+9v1Fjjx4/H+PHjcfr0aezevRuXLl3CkiVLMGDAAOGH\ngG7atAlRUVEYN24cvL29MWjQIKEJoKyzs/T3Qih7V0TthcjJyXnpayNHjsTBgweNGkdRstTg999/\nF15qAEB3KPvjx4+FxQCgaxYyf/58NGvWDAMHDtR9T0QZjlar1R0IXZLIFdyCggL8+OOPqFevHtLT\n05GdnS0s1q5duzBo0CB069YN5cqVw/Xr14XFetXKw7JlywxWzETYvHkz9u/fj4kTJ+Ktt96Cm5ub\n0BVrWfEyMzNfO0ASdYyHlZUVcnNzodFohJeWA/KOKNH/WWSskOlPcOpX14jqAqqUHh87dkzI87/O\n1KlT4eHhgXLlyiE7O1t4Ncq3335rUML+9OlTofFkn3Moq8O3omTJqcjPRlxcHOLi4oRXuW3cuBEf\nffQRPvnkEzRs2BAbN24UGu91kx4izzm0yATwzJkzutmeUaNG6WbYRJg8eTIKCgqQmpqKoqIiODo6\nGj0BVHTo0AEdOnTAs2fP8MMPP8DX11fYcrXCysoKarVaN4sm+gJXu3ZtzJ07F02aNEFcXJywBFfm\nXojOnTvj66+/ho+PD0qVKgWNRoNly5YJG5zJLjVQOq/JPK7k7bffxqhRozBr1iycO3dO6Eb/v/76\nC3379jXowqs8Fjlr7uXlhUOHDsHf3x8RERHCJl6+/fZbXL9+Ha6urrC2tkb16tWxefNmPHnyRMiZ\nn3Z2drh9+7ZBZ8rMzEzh15by5ctj+PDhePfdd7F69WrMmDEDtWrVwoQJE3TnTv0b46Wnp792MknE\nNSY8PBwPHjzAnj174ObmhhcvXiA+Ph7vv/++sIGhrCNKzp49q/udZWZm6h6LSiDu3LmDpUuXQqvV\nGjxW9kAZm7u7+2sTdpErZO+99x6OHj2K9PR0oe3209LSkJWVBT8/P3z11VfQarXQaDQICgoS2kFZ\n9jmHs2fPNujwHRgYKLTDt8wV1caNGws//B0ongSJjY1FSEgIcnNzkZOTg+fPnwvba9+lSxcsXrwY\n3t7esLe3R3Z2NlauXKlb9RfBoo6BUAwePBhRUVG6wbaHhweioqKExHJ3d8euXbsQGBiIOXPmYMyY\nMa/di/FvtHTpUty9exeJiYno2LEjypQpA39/f2HxpkyZgq5du2LQoEFYv349rl69KrSzo0ajET7T\nW1hYiLCwMBw+fBgODg54+vQpPvzwQ8ycOVNIiaunp+crD04ePnw4IiMjjR4vNDQUAQEBuuNKALGd\n154/f44vv/wSt27dwqJFi4Rvvn/d71OGa9eu6WZ5RQ163dzcEBUVZTAwVLqAiji24NKlS/D19cWQ\nIUNQq1Yt3LlzB9HR0ViyZIlB+29ji4yMxA8//IBy5crBzc0NvXr1QmFhIYYMGaJrFvZvjGfK96dW\nq8XJkycRHR2NCxcu4Pjx40LiyD6iRJbNmzfrJupK+vjjj40e7969e6/9nohjBRYsWICgoKBXqOW6\nHQAAIABJREFUJp4iEoi4uDhs2bIFV69eRePGjaHValGqVCm0bt0a06ZNM3o8xfjx4/HgwQM0aNBA\n93OKHLeU/MyLurcrXvW+EXUMxebNm7F8+XI4OjrqxhGi94zevHkTu3fvxuHDh9GsWTMhR4FptVqs\nX78eUVFRyM3NhYODAwYOHIhx48YJG4Na5Apgv379MHToULRs2RIXLlwQ2t5YmfXJycmBnZ2dlHIY\nGVavXg1vb2/4+Phg//79aNKkCerWrWtwdpAIjx490nWtGz9+vMFZYSKsX78e69evF1q7b21tDT8/\nP8yYMQMZGRmwsrISOgsqu9RgzJgxACBtEDpgwAC4ublh0aJFUhsZyLZ161YcPHgQLVq0wIYNG4QN\nesuUKfPSdcvGxkZYw6dmzZph48aNiImJQXx8PGrUqIENGzYI7/CYmpqKsLAwgzNhbWxssGDBgn91\nPNH7pF9n0aJF8Pf3R5cuXdClSxc8efJEWCxZR5QsXbr0td8T0Y0wNjYWO3bswNy5c4UdHq7v119/\nhZubG8LCwl76zIv4+ZSqhcWLF0spyezVqxd69eqFEydOoEOHDihdujQePXqEatWqCYmnGD9+vNDn\nL0l2h2+ZJacHDhzAkSNHhHe91le7dm2MHz8eU6dOxYkTJ4TEUKlUmDBhAiZMmACgeFW1YsWKQmIp\nLDIBHDt2LN5//32kpKTAzc0N9evXFxarT58+WLlyJRo1aoQhQ4YIP7hclt9//1138d69e7fQox/0\nqVQqpKSkoE6dOrh9+7bwzeIHDx6UVrt/7tw5zJ8/X9dQp0aNGkI628kuNfD19dW9P5SOhCKtXLnS\nYKUoMzNTaJONOXPmGPxbdDzFwYMHpQx67ezscOfOHYNE5c6dO0IHFdWrV8fDhw8NkiFfX1989dVX\nRo81bdo0fPPNN5g+fforv2/sbqey4yll3UpCJktSUhKePXuG8uXLA4CQBmgKWUeUyGzlDxRPDg4a\nNAi3bt3C33//bfA9EStkyiRL3bp1Db4u6rOu1WqRkpIivSTz4sWLSEhIgI+PD0JCQtCsWTPdwNuY\nSm7BsbOzQ9OmTQ2upSIovRJSU1NRrVo14XsqZZac1qhRA/b29tLG0qdPn8aCBQsMxmUinTlzRso4\nELDQBPDhw4dYuXKlbr9AQECArkGFsem32O7atavQQ8tl0q8clllFHBAQgOnTp+Px48dwdHQUPisq\ns3b/m2++wbZt2zB58mRMnDgRQ4cOFfLBnzBhAtavX4+PP/74pVIDEfTfHzI6EirJ36su3CJ+n8o+\nVFnxFLIGvTNnzoS3tzc6deoEJycn3L9/H7/88gsWLVokJF5kZCTWrFmDp0+f4scffwRQ/LOKalCU\nnp4u5HnflHiKkgmZaDdu3EDHjh1RqVIlXQIhqvOhrCNKqlatKuR5X2fz5s149OgR5s2bJ6zhmT7l\naImLFy8iKChI93VfX1+DZlrG8tdff2HLli1ISUlBUFCQriRT1P53xbFjx7B3714AwIoVK+Dh4SEk\nAVQ6litevHiBNWvWwNPTE4MHDzZ6PEWTJk2ElOe/Tl5eHnr27AmgeJV106ZNwmKlpqaiT58+uj3i\nKpVKaHnr8uXLpYzLFLLGgYCFJoAyZyuuX7+OuXPn4tmzZ3B1dUX9+vXRvXt3IbFk0p8RlFnW2rJl\nS4NZNZEtcpXnd3Fx0Q3yVSqVsNr9UqVKoUKFClCpVLC1tRVWYie71MBUZc+yL9yy48ka9NavXx/b\nt2/H0aNHkZqaiqZNm2LSpEnCjr0YPnw4hg8fjvDwcOGdP4H/arTxKiLK3mTHU8hMyIDiTsqyyDqi\n5J86M4tIWn777TcAxV2h9TucAmL2WCmTL5mZmbrJFwB45513jB4LMF1JpkqlQn5+PtRq9Ws7OBvD\nq858zsvLE5YATpkyBStWrHjle1HkZ11myamIKpB/ImtcZop4FpkAlpytEHXIIgAEBwcjNDQUs2fP\nxuDBg+Hl5WUWCWBiYiI8PDyg1WqRlJSkeyz6PJ2dO3di06ZNumM1rK2tDW5Uxiazdv/tt99GWFgY\nMjMzsW7dOrMpNcjMzMSpU6eg0Wjw9OlTgxuRyJlec75wA/816E1OTsagQYPQtWtXYbHs7e1x4cKF\nl1YFRN6MP/roI2zduhV5eXm6r4n4PNrZ2Ukt7ZMdTyEzIQOAK1euYNeuXQZ/v9DQUKPGcHd3R0BA\nAFq1aoVu3brpEr+JEycKOQvN2K//vyM74SxTpgxmzJiBR48eoXr16rC1tUWzZs2ElyzKKslUeHh4\n6CZ2k5OTpd7nbW1thVVrKM1JlixZgk6dOgmJ8SoyS07z8vLw4sULqFQqLF++HOPHjzfoGG1sssdl\nMuNZZAJYcrZCNGdnZ6hUKlSqVEn4oFCWmJgYk8SNjIxEREQE1qxZg759+wptbQwUl1KsWrVKt7lZ\n5BmH8+fPx+7du9G2bVuUKVMGwcHBwmIB8koNmjZtigMHDgAo/n3qD2pEJoDmfOEGgCdPnuCXX35B\nSkoK0tLS0KpVq9d2DPy/kF2SqfD29kafPn2ElyxWqVJFSEfFNyWeQkZCps/f3x8jRowQ2rwnIyMD\nfn5+8PLyMrh2iTwTEzC8bmVmZsLJyQmHDx82epzX/X1SU1ONHgsAkpOTdY9v3LiBFy9eIDw8XHjJ\noqySTIWbmxt69uyp29sssulaSWlpaa88+9eYVq5cKTUBlFlyOmfOHAQGBmLVqlX47LPPsGzZMqFH\nJcgel8mMZ3EJYFZWFnx8fDBr1iykpaXB0dFR6C/YwcEBO3fuRE5ODg4ePCht/4Voolr8/nccHR3h\n6OiI7OxsdOzYEStXrhQab9asWWjfvj1cXV1x+vRp+Pv7C5lZBoq7W5UuXRotW7YEUNwBrnr16mjX\nrp2QeLJWrEoOYjIzM+Hg4CC8NNScL9xAcTORfv36YfDgwUhISICvry/Wrl1r9DiySzIVb731FiZP\nniw8TrNmzYTHMGU8hYyETF+VKlWElkADxU1Lli1bhilTpiAxMRFz5syBlZWV8GuLfhXDvXv3hN+H\nli9fjh07dqCgoAC5ubmoXbv2P64O/m/JLllUyCrJVMjamuPj42PwXszLy8OVK1eEN2NSqVSYNGkS\n6tSpo+uELaK83BQlp2q1Gg0bNkRBQQHatWsnvMux7HGZzHgWlQBu27YNGzduhLW1NWbPno0uXboI\nj7lw4UKEh4ejYsWKuHTpEkJCQoTHNGf29vaIi4vTlZpmZmYKjZeRkaE7aqJx48ZCz5s5ePAgcnNz\n0apVK1y4cAF5eXmwsrJC06ZNMWvWLKPHM9eSU4U5X7gVQ4cOBQA0atQIR44cERYHkFeSqejevTu+\n/vprg5VGEY0o/Pz8ABSval68eNHg52vfvv2/Pp5CRkKmr2bNmli3bh0aN26sGwSLWPGvXLkytmzZ\nguDgYIwaNUrIGV3/pGbNmgYrZyIcO3YM8fHxWLhwIcaMGSPlSAiFyJJFRcmSTC8vL6HxZG3N8fDw\nMPi3nZ0d6tatK2z/tEI5Kks0U5WcBgQEoHPnzjhy5IjwBFD2uExmPItKAJXzQ7KysuDr6ys0Afz5\n55/RvXt3lCtXDjNnzhQWx9IEBwfj9u3b8PHxwaZNmzB79myh8fLy8pCWloaqVavi8ePHQo+dKCws\nxJYtW1CqVCloNBqMHz8eGzZseOkmYizmWnKqMOcLN1Dcqj0mJgYdO3ZEYmIiKlSooGsUIWKPmayS\nTMWhQ4dQt25dXSc90as6kydPxpMnT/DWW2/p4olMyGTHk5WQKQoKCpCSkmLQvMTY8ZSVImtra8yb\nNw979uzB0KFDha8g6a/spKamCj3iAijuPqpWq5GdnQ1nZ2fhzc/0yShZNEVJpoytOR06dADwXwfe\nK0Tvn3ZxccG+fftw//59vPvuu0KPOgPklpwuW7YM58+fR48ePfD7778La8qnkD0ukxnPohJAtVoN\ntVqNSpUqCb+Abtq0STejpJz7RP97JcsJ0tPT8f777wv/O06bNg0eHh6wt7dHVlaW0M3NmZmZKCws\nhFqtRmFhoe4w3Pz8fCHxzLXkVGHOF26geL9OcnIydu/erftaUFAQVCqVkHM5ZZVkKtRqtdSVjseP\nHwttYGXqeDISMqC4XNHNzU1Kw5QpU6YY/HvQoEGoX7++8Put/mdaaZQiUvXq1REdHY3SpUsjLCwM\nz549ExLndSWLIg/2BuTvT5W1NedVXVVl7J+eO3cuHB0d8euvv6J58+bw8/PD+vXrhcWTVXJ69epV\nODg4oFu3bvjuu+9QUFCA5s2bGz2OPtnjMpnxLCoB1Cd6hlD/+Z88eSI0liWQ3Q1N8fjxYxw9ehTp\n6enCZyWHDRsGFxcX1K9fX1cGEx4erjubydjMveTUnC/cAPD1118btEtPTExE06ZNhcQC5JVkKmrU\nqIG1a9eiSZMmUlas6tSpI6UFvex4MhMyoHhw7e3tjapVq8Ld3R09evTQDQqNrX379rh69SoaNWqE\n/Px87N69G2q1Gt99952QeKtXr4a3tzc6dOiA1NRUODo6ColT0oIFC/DgwQP07dsX+/btE7bqYaqS\nRdn7U2VtzTHV/unbt28jJCQEf/75J3r06IF169YJjSej5HTx4sU4e/YsCgsLUblyZTg4OKBatWqY\nOXOmsL4MgPxxmcx4FpUAJiUlYcaMGbqjC/Q3PBv7gmqqc/LMlf7g5fLly0hJSUG9evXQsGFDoXGj\noqLg6uoqpSTFzc0NvXr1wu3bt/H222+jYsWKKCoqElbjbu4lp+Z84QaAcePGwd/fH++//z42btyI\nmJgYgzMyjU12SWZhYSFu3ryJmzdv6r4mMgFMSEhA9+7dDT7rIs/OkhVPZkIGAKNHj8bo0aNx8eJF\n7N27F8uWLUPv3r0xZMgQo0/6bNq0CYcOHcKOHTvw1Vdf4f79+6hRowYWLlwoZHvA77//rusEPXPm\nTCEr7fpe9Xm2t7fHpUuXhKwiKSWLssnan6q/+q2ftGRkZKBChQrC4sreP11UVIT09HSoVCpkZWUJ\n/bwDckpOExISEBUVhdzcXHz44Ye6Y22UHg2iyB6XyYxnUQmgflmIqEGuQjnsV6vVvnTwr8jDfs3d\nN998g99//x0tWrRAREQEevXqJXTDeH5+PgYOHGhQ2iBq9vX8+fPYu3evrqw1NTUVGzZsEBILMP+S\nU3O+cAPA5s2b4evri6+//hrt2rVDVFSUkDgK2SWZoaGhKCoqglarxfnz59GiRQuh8USeJ2rKeDIT\nMn3NmzdH8+bNkZ+fj1WrVqFv3764cOGCUWMcOXIEO3fuhEqlwoEDB/Djjz+ifPnywu7v+pU9oquI\nAOgmW4Diio2PPvoIgPlNKsvan6q/D0+Jo9VqkZ+fj127dhk9nkL2/unp06dj6NChSEtLg7u7OwID\nA4XGk1FyamtrC6B4VbpWrVq6r4tObmWPy2TGs6gEUObslv7ehJL7FOh/Lz4+HtHR0ShVqhSKiorg\n7u4uNAGU2cBn3rx58PLyQmxsLBo0aCAsEVOYe8mpOV+4AeDvv/9GWloa2rRpgytXruDhw4dCD8SV\nXZIZEhKCd955B/fv30diYiKqVq2KRYsWGT2OUtZXcv8TIGayR3Y8hYyETN+DBw8QExODw4cP4513\n3hFyREnZsmVhZWWFxMREODk56QbYopIz2ZU9+lVK58+ff+UxDeZA1v7USpUqYfny5QCADRs2YNy4\ncQDEryLJ3j9tZ2eH2NhYpKeno2LFijhz5ozQeDJKTvPz83Hnzh1dwq48zs3NNXosfbLHZTLjWVQC\nKJNy0G9GRgauXLmC//znP9i2bRtcXV1N/Mr+3apXr47s7GzY29ujsLAQVapUERLHFHs9KlasiP79\n++PUqVOYPHkyRowYITSeuZecmvOFGwC+/fZbrF27FjVq1MD58+cxadIk7N+/X1g82SWZFy9eRGBg\nIDw9PREREYFRo0YJidOjRw8A4qtCTBVPISMhA4C9e/di3759yMzMxKBBg7Bp0yZUrFhRSCyVSoWU\nlBTs3btX13Tt5s2bwq5hiYmJ8PDw0G0jUR4rxxKJZG6rfvpk7U/NyMjQPT5x4oQuART9u5W1f/rP\nP/9EUlISNm/ejDFjxgAANBoNIiMjceDAAaPHU8goOS1VqpTuCB0rKyuDxyLJHpfJjMcEUDAfHx+M\nHDkSQPFejC+++ELYjdcSpKam4oMPPkCjRo2QlJQEGxsb3UDKmDdg2Xs9gOIL3PXr15GTk4Pk5GRd\nSaYo5l5yas4XbqC4w5xy82vVqhV27NghNJ7skkyNRoNLly6hVq1ayM/PR3Z2tpA4x44dQ6NGjaRN\n9siOJzMhA4DTp09j2rRpaNu2rbAYiqlTp8LX1xdVqlSBj48PTp8+DV9fX2FdQGNiYoQ8r6XTn0jK\nzMyEk5MTDh8+bPQ4skt4FbL2T5cvXx6PHz9Gfn4+0tLSdLG++OILIfEUMkpORd/fXkf2uExmPCaA\nguXk5OhmJl1cXITv0zF3SvmGaKa4Ufj7++P69evw9PTEzJkzhXfWMveSU3O9cCvHylhZWWHjxo0Y\nO3YsgOJ9JiInKmSVZCoGDhyI+fPnY+HChQgJCRG2YiZ7skd2PJkJGQDde+LRo0d4/vw5rKyssH79\nenh6eqJx48ZGjbVjxw7dqkpwcDDy8vLQtm1b7Nq1C61atTJqLKB4rxog71w3pUxYRuM6U9JvfnTv\n3j2sXLlSSBxTNeeTtX+6QYMGaNCgAQYNGqQ7XxQoXrkWSUbJ6bBhw177N4uMjDR6PIXscZnMeEwA\nBbOxscGpU6fQsmVLXLx4UfhytbmztrbGkiVLkJ6ejr59+6Jhw4a6piLGZIobxZ49e+Dv7w+geNZe\nNHMvOTXXC7f+sTLHjx/XJYCiJypklWRevXoV33zzDSpXroxp06bp3petW7cWEk/2ZI/seDITMn0z\nZszA559/ju3bt+ODDz7AwoULERERYdQYly5dQl5eHlxcXNC6dWvhv0/Z57rpT3roPzbnctCaNWsi\nOTlZyHO/qhO8Vqs1aLYjguz90+PHj5fSIVpmyanIycZ/IntcJjMeE0DBgoODsXjxYgQHB6NevXpY\nsGCBqV/Sv9qcOXMwZswYrF69Gu3atYO/v7+QVVVT7PVISkrCs2fPpHUKM/eSU3O+cCv0B7yiB4Wy\nSjLnzZuHyZMn4+nTp/j888+xb98+VKpUCV5eXkL2zcie7DHVKoSMhEyfSqVC+/btER4ejo8++kjI\ndXr//v24du0aYmJisG7dOrRv3x6urq5wdnY2eixA/rluSuO6V604tm/fXnh8WfQbIqWmpqJy5cpC\n4ryuE7zo/biy90/L6hAts+RUaXB2584dxMbGorCwEFqtFqmpqZg7d67R4ylkj8tkxmMCKJizszO+\n/fZb3b4ZWQedmqvc3Fx06tQJa9asQd26dXWtgY3NFHs9bty4gY4dO6JSpUq6m6HIc8jMveTUXC/c\npkogZJVk2tjY4L333gMAbN26FbVr1wYAlClTRkg82ZM9pmokIiMh01dYWIglS5agXbt2+P3333UT\nP8bWoEEDXbfmM2fOICwsDA8fPhT688k61032iqNsSrM1Dw8PPHr0CNWqVYOtrS2aNWsmJJ6pzjmU\nvX9aVodoU5Sc+vj4oFu3bvjzzz9RuXJlg8+gCLLHZTLjMQEUrOS+mSpVqmDx4sWmfln/Wra2tjh5\n8iQ0Gg3Onz8PtVotJI7svR4AdAebymLuJafmeuGWXcYkuyRTP6nV/3xrNBoh8WRP9piqkYishEwR\nGhqKU6dOwc3NDXFxcULve1lZWfjpp59w4MAB5OTkCO+2LetcN9krjrIp+2E7dOiAkSNHSmm2Zgqy\n90+X7BDt5eUl9NxRWSWnQPF+w0mTJiEgIAChoaEYNmyYkDgK2eMymfGYAAoma9+Mpfjyyy+xePFi\nZGRkYOPGjZg3b56QOKaYeZVdImnuJafmeuGWXcYkuyRTdoIre7LHFJNLgNyEDABq1aqFJk2a4K+/\n/kKVKlXw119/wcnJyagxDh06hEOHDuH+/fvo06cP5s+fb3BItCiyz3WTteIom6m6csomaxyoNAjb\ntm0btm7dirFjx6JVq1YoW7askHgKWSWnQPE4Ij09HS9evEBubi5ycnKExQLM+zxhJoCCydo3Yyk2\nb96MZcuWCY9jiplX2SWS5l5yaq4X7n/aFySixEl2SabsBFf2ZI+pyvpkJGT6Pv/8cxQUFCA1NRVF\nRUVwdHRE//79jRrDx8cHdevWRaNGjXDt2jWDe4PILpmyznVTyFpxlM1U5eyyyRoHKg3CrK2tDRqE\n2dvbC4mnkFVyCgCfffYZDh8+jP79+6Nbt25wcXEREkdhzucJMwEUbMCAAbp9M0uWLIG7u7upX9K/\nmuxVq+HDh+Orr75CUlISateuDW9vb1SoUEFILNklkuZecmquF27ZCYTskkzZ+3RkT/aYqqxPRkKm\nLyMjA7t27UJgYKCueZexmapkUNa5bgrZK46ymGo/rGyy9k/rk7miKrPkNC8vD8OHDwcA9O7dG7Gx\nsULiKMz5PGEmgIIpN3sAQg7HtDSyV60CAwPRrl07uLi44PTp0/D390d4eLiQWObelVN28m6uF27Z\nCYSpWqfLJrvMTnY8GQmZPjs7OwDFZ+Eqj43NVE09ZJ3rppC94iiLqfbDymLK/dMyVlRllpweP34c\n58+fR0xMDAYMGACgeBLyxx9/xAcffGD0eApzPU8YYAIozJQpU7BixYqXWv2qVCqcPHnSRK/q30/2\nqlVGRgZGjhwJAGjcuLHQ2SZ/f38kJibC09MTEyZMEJ6wmHvJqTlfuAF5CYSpWqfLJrvMTnY8GQmZ\nvj59+mDVqlVo1KgR3N3dUbp0aeExZZF9rpvsFUdZlP2w5src90/LLDmtX78+0tLSoFarUaNGDQDF\n99wlS5YYPZY+2eMymfGYAApStmxZBAQEoHPnzqZ+KWZBaRetf16QQuRej7y8PKSlpaFq1ap4/Pix\nkLK3pKQkLFiwAFu3bsXkyZPh4OCAgoICg7bKIph7yak5X7gBeQmEqVZZZJNdZic7nqyELCAgQPdY\no9GgVKlScHR0hLW1+Qw3ZJ/rJnvFkYzD3PdP6xNdclqzZk24ublh4MCBuH37NpKTk+Hs7IwGDRoI\niSd7XGaKcaD5XJHfMImJibp21Mpyvzl3uZJF/7wgGaZOnQoPDw/Y29sjKysLn376qdFjfP3117qD\nU6tWrYqIiAjcunULs2fPNqvSBlklp5Zw4QbMd1+Qqcgus5MVT3ZCdunSJeTm5urufeZ435N9rpvs\nFUcyDnPfP22KJj5RUVHYu3cvWrZsiTVr1sDV1RWjR482ehzZ4zJTjAOZAAoSExODa9euISYmBuvW\nrUP79u3h6uoKZ2dnU7+0fyVTnRf03nvv4ejRo0hPT0fFihXh5uYGNzc3o8bIyclB8+bNAfxX6YSz\nszMKCwuNGqckcy05tYQLN2C++4JMRXaZnax4shOy/fv3m/29T/a5brJXHMk4zH3/tCl+vpiYGOzc\nuRM2NjYoKCiAh4eHkARQ9rjMFONAJoACNWjQADNnzgQAnDlzBmFhYXj48KHQM1LMlanPC6pUqZKw\n2Pp7uFavXq17LGqG3txLTi3hwg2Y774gU5FdZicrnikSMnO/98k+31f2iiMZh7nvnzbFz6fVamFj\nYwOguMRWeWxsssdlsuMBTACFy8rKwk8//YQDBw7oSkLp/9+bcl6QiNiOjo64cOGCwU39woULqFq1\nqtFjAeZfcmoJF26A+4KMTXaZncx4pkjIzPneJ/t8X9krjmQc5r5/2hQ/X6tWrTB9+nS0a9cOCQkJ\naNmypZA4ssdlsuMBTACFOXToEA4dOoT79++jT58+mD9/PmrVqmXql/WvJfu8oFc1m9Fqtbhz547R\nY33xxRfw9vbGu+++C2dnZ9y5cwe//fabsOMmzL3k1BIu3AD3BRmb7DI72fFkJWSWcO+Tfa6b7BVH\nojeNcuTErFmzEBcXh+TkZPTr1w+9evUSEk/2uEx2PABQac1xh/YboFGjRqhbty4aNWoEwHDlSGTX\nSnN17969135PRCvp06dPv/Z7Ima9cnNzcezYMdy9exdvvfUWevbsKaxTmIeHxyuTZmVwYWz6Jad9\n+/aFg4MDHj58iFmzZglZcbxz585rL6RK++h/czyFfnMPRWhoqLB4lqBkmZ1+44Z/a7ySCVn//v2F\nJmTmfO/TP9etX79+8PHxAVD8WRS5/3bIkCEICgpCZGQk5s+fj2HDhiE6OlpYPKI3jczeDwqZ4zJT\nxGMCKIjsBILof2rKlCnw8vJ6acVq8+bNWLp0qdHjTZw4EZMmTULz5s11SaZScioi4QTM/8KtkJ2w\nmDPZZXay4slOyMz53ufh4aE71y0wMNDgXDeR5bTbt2/Hvn37sHDh/2vv7kKiWvc4jv/abWtCLQgL\nQmUQiwi0MsxSmsLICilBC6+cKAKDmFISUksjh6iUBqXxjSSMqUCKXgmjm1AwalCxy97UrAyEXhGN\nJrRzcXBO7s7ZtI+6Jmd9P1fDs2A9D+tm5jfPf/2fk7p06ZLi4+O1c+fOKZsP+N2kpqZq+/bt//Xa\n2B8x+GcoAZ0i0/2LDsHLDCWnFotF6enpU3b/QM8n8V7QZDO6zM6o+Yz+1zyYv/uMPtftxx3H/Px8\nf9n82NFSgFlYLBbFxMQEehlBhQAImEx0dLSuXr3q37GKi4tTXl7elP2ICVSTlGDHe0GTy+jGHkbN\nF8yBzGhGn+t2/Phx/46jw+EYt+PIkS8wk4iICGVmZgZ6GUGFX2CACRm5YxWoJinBzujAEuyMbuxh\n9HyYOKPPPTN6xxH4XcXFxQV6CUGHAAhgSgWiu5UZECAmh9FldpT1TV9Gn3tm9I4j8LsqLCwM9BKC\nDk1gAEy5QDVJCUaB6kQYrIxu7BGoRiKYflJSUpScnKzv37/r0aNH/s9er1cPHjwI9PLvXLZJAAAF\nf0lEQVQATGPsAAKYcoFokhKseC9ochldZkdZH36V0TuOAMyDAAgA0wgBYnIZXWZHWR9+FQ18AEwV\nAiAATCMEiMlldGMPo+cDAOCveAcQAKYR3guaXEYfXB7MB6UDAKYHAiAATCMECAAAMBEEQAAAAAAw\niT8CvQAAAAAAgDEIgAAAAABgEnQBBQAEHbvd/j/flywtLVVOTs6E52hpaVFUVJQWL1484XsBAGAU\nAiAAICht27ZNRUVFP42HhYVN+N4DAwPat2+fPB4PARAAMK0QAAEAQclisWjBggVTcm/6pwEApive\nAQQAmI7P59Pp06e1bt06rVq1Sjk5OXr8+LH/+ujoqGpra7V582bFxcUpMTFRBw4c0IcPHyRJGzZs\nkCTt2rVLRUVFevPmjZYuXaqOjg7/Pf46ZrfbdezYMWVlZWn16tW6f/++RkdHVV9fr9TUVK1cuVI7\nduxQa2ur/x7Dw8MqLi5WSkqK4uPjlZ2drYcPHxrxiAAAQYoACAAwncOHD6u9vV1VVVW6du2a1q5d\nK7vdrt7eXklSY2OjPB6PSkpKdO/ePblcLnV2dqqurk6SdOPGDUmS2+3W0aNHf3neq1evKjc3Vxcv\nXlRSUpJcLpeuX78up9OpW7duKTMzUw6HQ16vV5J09uxZvXjxQufPn1dzc7OWLVsmh8Oh4eHhSX4i\nAACzoAQUABCUbt68qebm5nFj6enpys3N1d27d3Xnzh0tWbJEkuRwONTZ2anGxkY5nU7FxMSovLxc\n69evlyRFRkbKZrPp2bNnkqT58+dLkubNm6fw8HB9/vz5l9a0fPlybd26VZI0NDQkj8cjt9stm80m\nSbJarXry5InOnTunNWvWqK+vT6GhoYqKilJ4eLgKCwu1ZcsWzZw5c+IPCABgSgRAAEBQ2rRpkw4d\nOjRuLDQ0VO3t7ZKk7Ozscdd8Pp98Pp8kaePGjerq6lJlZaV6e3vV09Oj7u5uJSYmTmhNUVFR/s/d\n3d3y+XzKy8vTH3/8pyDn27dvioiIkCTt3btX+/fvV3JyshISEmSz2ZSRkaHZs2dPaB0AAPMiAAIA\nglJYWJisVutP4yEhIZKkpqYmWSyWcddmzZolSaqtrVVDQ4OysrJks9n8HT/fvn37y/OPjIz8NPbj\nfGNzud3un9Y5FggTExPV2tqqtrY2tbW16fLly6qrq9OVK1f8u5cAAPwTBEAAgKmMBaf3798rJSXF\nP15WVqbY2Fjl5OSooaFBBw8e1J49e/zX+/r69Oef//7anDFjxrh7joXKoaEh/9jLly//dh1Wq1Uh\nISEaGBjwl5pKUnV1tUZGRpSXl6fq6molJCQoLS1NaWlp+vr1q2w2m1paWgiAAID/C01gAACmYrVa\nlZ6ertLSUrW2turVq1eqrKxUU1OTYmNjJUmLFi1SW1uburu79fz5czmdTnV1dflLRENDQyVJT58+\n1cePH7Vw4UJFRkbqwoUL6unpUUdHh6qqqn4Kij+aM2eOdu/eLZfLpebmZr1+/Voej0c1NTWKjo6W\nJPX396usrExer1f9/f26ffu2BgcHtWLFiil+SgCAYMUOIADAdE6cOCGXy6UjR45ocHBQsbGxcrvd\nSk5OliSVl5fL6XQqMzNTc+fOVVJSkgoKClRfX68vX74oLCxMdrtdZ86ckdfrVU1NjSoqKnTy5Ell\nZGTIarWquLhYubm5f7uO/Px8hYSEqKKiQu/evVN0dLScTqeysrIkSSUlJSovL1dBQYE+ffokq9Wq\nU6dOKSkpacqfEQAgOM34zmm2AAAAAGAKlIACAAAAgEkQAAEAAADAJAiAAAAAAGASBEAAAAAAMAkC\nIAAAAACYBAEQAAAAAEyCAAgAAAAAJkEABAAAAACTIAACAAAAgEn8C5DYaZ/ylPMEAAAAAElFTkSu\nQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1a177cd490>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "f, ax = plt.subplots(figsize=(15, 12))\n",
    "plt.xticks(rotation='90')\n",
    "sns.barplot(x=all_data_na.index, y=all_data_na)\n",
    "plt.xlabel('Features', fontsize=15)\n",
    "plt.ylabel('Percent of missing values', fontsize=15)\n",
    "plt.title('Percent missing data by feature', fontsize=15)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "5d88502a-2484-45d7-a750-0d32075133dd",
    "_execution_state": "idle",
    "_uuid": "dbf28eddefa2c0825781a31cde823ac5ece5a1ee"
   },
   "source": [
    "**Data Correlation**\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "_cell_guid": "3fc115c7-33bb-456d-b3e5-4dd985bfbc9f",
    "_execution_state": "idle",
    "_uuid": "0f6b9912c752212f3f4bdca0b60f5fd01c12d2a0",
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a2453ccd0>"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nUfQAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1a177e8b90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Correlation map to see how features are correlated with SalePrice\n",
    "corrmat = train.corr()\n",
    "plt.subplots(figsize=(12,9))\n",
    "sns.heatmap(corrmat, vmax=0.9, square=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "cd681698-02d2-473e-bfc8-2d98a1353a18",
    "_execution_state": "idle",
    "_uuid": "41a6b40f8f03212a624f54167cad456a9f193f93"
   },
   "source": [
    "###Imputing missing values "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "e717ffdc-b536-4f6c-8008-e520043a5d3d",
    "_execution_state": "idle",
    "_uuid": "24d64c66f2a2329437743756194d21893ee6dd1f"
   },
   "source": [
    "We impute them  by proceeding sequentially  through features with missing values "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "6f7d94ef-5ffb-4e1b-b1a2-a917cce3f357",
    "_execution_state": "idle",
    "_uuid": "d6d054aff0098e4e602ef618e0a4d3706d71dd66"
   },
   "source": [
    "- **PoolQC** : data description says NA means \"No  Pool\". That make sense, given the huge ratio of missing value (+99%) and majority of houses have no Pool at all in general. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "_cell_guid": "ca8a04eb-f42b-4c26-a690-bb98c95c6118",
    "_execution_state": "idle",
    "_uuid": "1d94b062f7683d711d479e48530009040185fd4c",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "all_data[\"PoolQC\"] = all_data[\"PoolQC\"].fillna(\"None\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "ea3aecb9-b2e8-4cdc-853d-999f8e2f789c",
    "_execution_state": "idle",
    "_uuid": "0516efe507d7176591f6af3d503312db5038949a"
   },
   "source": [
    "- **MiscFeature** : data description says NA means \"no misc feature\"\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "_cell_guid": "689863b8-4e4e-45d7-9972-8894e8defbe2",
    "_execution_state": "idle",
    "_uuid": "c311993a26d66d66ce82584a3e00d7ed56a3ea5a",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "all_data[\"MiscFeature\"] = all_data[\"MiscFeature\"].fillna(\"None\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "d467b9e0-0793-41e5-aaa1-d1686946ba9f",
    "_execution_state": "idle",
    "_uuid": "44cfbd9eecce5e4f2bc91a72ed095270e6010f57"
   },
   "source": [
    "- **Alley** : data description says NA means \"no alley access\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "_cell_guid": "0f822e30-09f3-45f8-b09e-0ffed4ff985c",
    "_execution_state": "idle",
    "_uuid": "35709caf5cb2b0220cd9043f76462a116de15059",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "all_data[\"Alley\"] = all_data[\"Alley\"].fillna(\"None\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "0bab3349-eddb-4977-acd5-8dad4553ff7f",
    "_execution_state": "idle",
    "_uuid": "3265fc176140dbf1b641e18f2d57b91554c85771"
   },
   "source": [
    "- **Fence** : data description says NA means \"no fence\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "_cell_guid": "c0d6e4f4-df14-467f-bab2-86bfd0493a35",
    "_execution_state": "idle",
    "_uuid": "6d9d6998298a7fea5677f0916bcc9f33dc99e231",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "all_data[\"Fence\"] = all_data[\"Fence\"].fillna(\"None\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "49747765-81f1-4b23-ad63-534c7fe48b7a",
    "_execution_state": "idle",
    "_uuid": "4869889d4b2b118bc6dcef239cbc27546a7b445e"
   },
   "source": [
    "- **FireplaceQu** : data description says NA means \"no fireplace\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "_cell_guid": "22b88c5b-6419-424f-9805-2c2b11e85dca",
    "_execution_state": "idle",
    "_uuid": "fb8cdb59e4ecba1f7ec78eb3b34c7209c34b1c86",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "all_data[\"FireplaceQu\"] = all_data[\"FireplaceQu\"].fillna(\"None\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "357994d1-974a-49ee-98e4-a19bc524fcb6",
    "_execution_state": "idle",
    "_uuid": "2b00af603b7dbc9114e62c421b2b886154d31959"
   },
   "source": [
    "- **LotFrontage** : Since the area of each street connected to the house property most likely have a similar area to other houses in its neighborhood , we can **fill in missing values by the median LotFrontage of the neighborhood**."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "_cell_guid": "b8cd4872-67c6-4c82-a1a3-807d08efb658",
    "_execution_state": "idle",
    "_uuid": "56c268a7217e85301d2847ceeca410d62e781b89",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#Group by neighborhood and fill in missing value by the median LotFrontage of all the neighborhood\n",
    "all_data[\"LotFrontage\"] = all_data.groupby(\"Neighborhood\")[\"LotFrontage\"].transform(\n",
    "    lambda x: x.fillna(x.median()))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "c0432c37-f664-4da1-a4d8-87a7cb450bd1",
    "_execution_state": "idle",
    "_uuid": "53712c1d6c7cf2945c6ba8b537171ea6b84f085e"
   },
   "source": [
    "- **GarageType, GarageFinish, GarageQual and GarageCond** : Replacing missing data with None"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "_cell_guid": "f264979e-f5e2-4aae-b313-7468570c0294",
    "_execution_state": "idle",
    "_uuid": "d556da5418394ed50d3c14bd02668714cee0fb4a",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "for col in ('GarageType', 'GarageFinish', 'GarageQual', 'GarageCond'):\n",
    "    all_data[col] = all_data[col].fillna('None')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "92173e82-fd12-4fa0-b7dd-f66fb7b0be3b",
    "_execution_state": "idle",
    "_uuid": "b38ea3ec1c4b8fa4b31e8f86f378798319c05a71"
   },
   "source": [
    "- **GarageYrBlt, GarageArea and GarageCars** : Replacing missing data with 0 (Since No garage = no cars in such garage.)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "_cell_guid": "ada7acfa-8bc3-4d52-9f42-28a78cefc950",
    "_execution_state": "idle",
    "_uuid": "2726cce29df2a2621c54c4c8a06eb570a7191552",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "for col in ('GarageYrBlt', 'GarageArea', 'GarageCars'):\n",
    "    all_data[col] = all_data[col].fillna(0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "b9f955c5-4e03-4835-8df7-1284120453ff",
    "_execution_state": "idle",
    "_uuid": "1729c36d95461d03679eb95e18eaac3d37aeb076"
   },
   "source": [
    "- **BsmtFinSF1, BsmtFinSF2, BsmtUnfSF, TotalBsmtSF, BsmtFullBath and BsmtHalfBath** : missing values are likely zero for having no basement"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "_cell_guid": "dd9e7ef7-3cee-437a-9a33-20987e238425",
    "_execution_state": "idle",
    "_uuid": "3008a6bd07ed883ff92a83ebe390940a24010fcb",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "for col in ('BsmtFinSF1', 'BsmtFinSF2', 'BsmtUnfSF','TotalBsmtSF', 'BsmtFullBath', 'BsmtHalfBath'):\n",
    "    all_data[col] = all_data[col].fillna(0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "441b397e-c527-4bd5-8d3c-df6aeba72192",
    "_execution_state": "idle",
    "_uuid": "d4ed0fcea9f8bb309118ba2fb703431e386c6cbd"
   },
   "source": [
    "- **BsmtQual, BsmtCond, BsmtExposure, BsmtFinType1 and BsmtFinType2** : For all these categorical basement-related features, NaN means that there is no  basement.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "_cell_guid": "6d7aa4f6-41b9-4f27-acb0-8af6aca2c8ff",
    "_execution_state": "idle",
    "_uuid": "ee281d3c691a50795e93bb797603c697d320b286",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "for col in ('BsmtQual', 'BsmtCond', 'BsmtExposure', 'BsmtFinType1', 'BsmtFinType2'):\n",
    "    all_data[col] = all_data[col].fillna('None')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "e7f2515f-8438-4075-9d22-0b37c1a2ef01",
    "_execution_state": "idle",
    "_uuid": "556165bc959cd6ff2354cb774341ac947d052f6a"
   },
   "source": [
    "- **MasVnrArea and MasVnrType** : NA most likely means no masonry veneer for these houses. We can fill 0 for the area and None for the type. \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "_cell_guid": "63a3a030-482f-4292-a887-16880f7a2882",
    "_execution_state": "idle",
    "_uuid": "800ff604bb70023baf1d403b53b674b765d9047c",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "all_data[\"MasVnrType\"] = all_data[\"MasVnrType\"].fillna(\"None\")\n",
    "all_data[\"MasVnrArea\"] = all_data[\"MasVnrArea\"].fillna(0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "f2f7f337-de24-44ec-93a6-09428ec9a252",
    "_execution_state": "idle",
    "_uuid": "ded1f7ea0443654bd033eeed1361056f820a925b"
   },
   "source": [
    "- **MSZoning (The general zoning classification)** :  'RL' is by far  the most common value.  So we can fill in missing values with 'RL'\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "_cell_guid": "0e4f28b5-784c-4369-92f4-bda15fa55172",
    "_execution_state": "idle",
    "_uuid": "ca93ce9b34c853c1bb11d837eaff6c2986234757",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "all_data['MSZoning'] = all_data['MSZoning'].fillna(all_data['MSZoning'].mode()[0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "99310a4b-9dbf-4273-81b5-94bf0adf338c",
    "_execution_state": "idle",
    "_uuid": "de39073aef3db7d13894fa82285eff803d6e5c1b"
   },
   "source": [
    "- **Utilities** : For this categorical feature all records are \"AllPub\", except for one \"NoSeWa\"  and 2 NA . Since the house with 'NoSewa' is in the training set, **this feature won't help in predictive modelling**. We can then safely  remove it.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "_cell_guid": "facec65d-945f-4be1-86c8-1be011cc2bd0",
    "_execution_state": "idle",
    "_uuid": "de8ee2aca9eb3eeed7442cd9d12843cc64746708",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "all_data = all_data.drop(['Utilities'], axis=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "c6aabfcd-4a1d-4845-88a1-b2f5cb7d8901",
    "_execution_state": "idle",
    "_uuid": "3450d048089ba8ff98807c6ae3b745b0a34165f9"
   },
   "source": [
    "- **Functional** : data description says NA means typical"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "_cell_guid": "c968aa5e-c34f-442e-9388-69e074a2c84e",
    "_execution_state": "idle",
    "_uuid": "e2d331e991fa868320b5d089f61c58b54ce7cb37",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "all_data[\"Functional\"] = all_data[\"Functional\"].fillna(\"Typ\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "4f2bad4d-8db8-4ac3-8991-ffa2c775a72d",
    "_execution_state": "idle",
    "_uuid": "c122f5b5596bc4ce615c6b620b7e1824a54a47b8"
   },
   "source": [
    "- **Electrical** : It has one NA value. Since this feature has mostly 'SBrkr', we can set that for the missing value.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "_cell_guid": "d93eab84-7759-4201-bd7d-d450399478f7",
    "_execution_state": "idle",
    "_uuid": "d31761ee8878ce4143cf21adde149cd622c5a039",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "all_data['Electrical'] = all_data['Electrical'].fillna(all_data['Electrical'].mode()[0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "3d089b8e-3392-4067-a5a1-4f6d4e3e8fb5",
    "_execution_state": "idle",
    "_uuid": "8e0fd54a802f1eddfec0aa4104412c19e1c266d0"
   },
   "source": [
    "- **KitchenQual**: Only one NA value, and same as Electrical, we set 'TA' (which is the most frequent)  for the missing value in KitchenQual.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "_cell_guid": "9f68e47a-5b50-436f-9e31-ff65a1cb1687",
    "_execution_state": "idle",
    "_uuid": "23071ddb69b67b1d742bb15d260421d57aed5583",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "all_data['KitchenQual'] = all_data['KitchenQual'].fillna(all_data['KitchenQual'].mode()[0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "e32aec7d-2841-4bfc-a6d2-d181000af4b8",
    "_execution_state": "idle",
    "_uuid": "e8aca612daf293e7228eed9647370036d003e0fb"
   },
   "source": [
    "- **Exterior1st and Exterior2nd** : Again Both Exterior 1 & 2 have only one missing value. We will just substitute in the most common string\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "_cell_guid": "85903feb-7fdb-4911-9a6a-f29629bbf308",
    "_execution_state": "idle",
    "_uuid": "6375e9c7c145e0f2832cbe03addbce3d90cb44c4",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "all_data['Exterior1st'] = all_data['Exterior1st'].fillna(all_data['Exterior1st'].mode()[0])\n",
    "all_data['Exterior2nd'] = all_data['Exterior2nd'].fillna(all_data['Exterior2nd'].mode()[0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "b87d629d-6820-4f3e-80f3-efc16436b982",
    "_execution_state": "idle",
    "_uuid": "67f41f0ad648d536d70e2ccb617a4b495fb7f782"
   },
   "source": [
    "- **SaleType** : Fill in again with most frequent which is \"WD\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "_cell_guid": "aaa407ac-ad4a-4313-8530-ac96826be6e5",
    "_execution_state": "idle",
    "_uuid": "06c104efedaf57a4052c8f61c502cb6313e0beea",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "all_data['SaleType'] = all_data['SaleType'].fillna(all_data['SaleType'].mode()[0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "8ddca94e-7cfa-4f25-9333-29e013c9c30d",
    "_execution_state": "idle",
    "_uuid": "8a3a35f5dc00732929143480a8a0b34a2a502c27"
   },
   "source": [
    "- **MSSubClass** : Na most likely means No building class. We can replace missing values with None\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "_cell_guid": "23dedd0c-7d5e-4870-8588-8bc4890f627b",
    "_execution_state": "idle",
    "_uuid": "9608a2eada6013e7f14e9341862cca0dca4621e9",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "\n",
    "all_data['MSSubClass'] = all_data['MSSubClass'].fillna(\"None\")\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "9193270b-8e7b-4a24-b769-d6eb661a1ae7",
    "_execution_state": "idle",
    "_uuid": "465570fcce8944ee31b1709ec6954d03cbf32ff8"
   },
   "source": [
    "Is there any remaining missing value ? "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {
    "_cell_guid": "0adf05cf-ce60-4169-805c-ca776e60e85a",
    "_execution_state": "idle",
    "_uuid": "b091fa2ebef19425019e2e550410d0376b9e9fac",
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Missing Ratio</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Empty DataFrame\n",
       "Columns: [Missing Ratio]\n",
       "Index: []"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#Check remaining missing values if any \n",
    "all_data_na = (all_data.isnull().sum() / len(all_data)) * 100\n",
    "all_data_na = all_data_na.drop(all_data_na[all_data_na == 0].index).sort_values(ascending=False)\n",
    "missing_data = pd.DataFrame({'Missing Ratio' :all_data_na})\n",
    "missing_data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "78266762-5180-44fa-a630-b808706800d4",
    "_execution_state": "idle",
    "_uuid": "360f518886ac45afe2963b9b53edb17c2be4a130"
   },
   "source": [
    "It remains no missing value.\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "7996debf-c724-4365-9d63-f6104bae6140",
    "_execution_state": "idle",
    "_uuid": "915505b9c21b4dd84cc466660a68fb0d6b84cfae"
   },
   "source": [
    "###More features engeneering"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "0d5076fa-b4ab-4787-bebb-8fd445b8815a",
    "_execution_state": "idle",
    "_uuid": "1cfcb671a97068569efb4e7855da91aa30c5bbde"
   },
   "source": [
    "**Transforming some numerical variables that are really categorical**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "_cell_guid": "a52dc2f9-ca02-4024-987a-165ce630b356",
    "_execution_state": "idle",
    "_uuid": "cc7557817a4442e799e4e4c84dd1efd8bd08867a",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#MSSubClass=The building class\n",
    "all_data['MSSubClass'] = all_data['MSSubClass'].apply(str)\n",
    "\n",
    "\n",
    "#Changing OverallCond into a categorical variable\n",
    "all_data['OverallCond'] = all_data['OverallCond'].astype(str)\n",
    "\n",
    "\n",
    "#Year and month sold are transformed into categorical features.\n",
    "all_data['YrSold'] = all_data['YrSold'].astype(str)\n",
    "all_data['MoSold'] = all_data['MoSold'].astype(str)\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "9f80c0e7-3f3f-45c5-b111-e36f4e31e814",
    "_execution_state": "idle",
    "_uuid": "c4743ffb7fbb050edca7c77dc7cb6520577c1398"
   },
   "source": [
    "**Label Encoding some categorical variables that may contain information in their ordering set** "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "_cell_guid": "81c97efb-4f76-4e87-861a-10a60ab5c84b",
    "_execution_state": "idle",
    "_uuid": "fdb5ddf0a49a3c6df303c569c9f3509c79ac8b61",
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Shape all_data: (2917, 78)\n"
     ]
    }
   ],
   "source": [
    "from sklearn.preprocessing import LabelEncoder\n",
    "cols = ('FireplaceQu', 'BsmtQual', 'BsmtCond', 'GarageQual', 'GarageCond', \n",
    "        'ExterQual', 'ExterCond','HeatingQC', 'PoolQC', 'KitchenQual', 'BsmtFinType1', \n",
    "        'BsmtFinType2', 'Functional', 'Fence', 'BsmtExposure', 'GarageFinish', 'LandSlope',\n",
    "        'LotShape', 'PavedDrive', 'Street', 'Alley', 'CentralAir', 'MSSubClass', 'OverallCond', \n",
    "        'YrSold', 'MoSold')\n",
    "# process columns, apply LabelEncoder to categorical features\n",
    "for c in cols:\n",
    "    lbl = LabelEncoder() \n",
    "    lbl.fit(list(all_data[c].values)) \n",
    "    all_data[c] = lbl.transform(list(all_data[c].values))\n",
    "\n",
    "# shape        \n",
    "print('Shape all_data: {}'.format(all_data.shape))\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "a4879ef7-ab0d-4955-bc48-7ebcfa04b3bd",
    "_execution_state": "idle",
    "_uuid": "9976d6288bc183d443fbccc2bde439d5bc3a87b1"
   },
   "source": [
    "**Adding one more important feature**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "b9486529-a3d2-443d-8a90-6bfbc406583b",
    "_execution_state": "idle",
    "_uuid": "ab22a33cf69e8092b3c4ae0a80b1f5f31b67edbc"
   },
   "source": [
    "Since area related features are very important to determine house prices, we add one more feature which is the total area of basement, first and second floor areas of each house"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "_cell_guid": "fc1a8f1a-f003-4538-8e60-d819f46362a3",
    "_execution_state": "idle",
    "_uuid": "208f8d22188786227fff4a978dc3b11b4e1ffd90",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Adding total sqfootage feature \n",
    "all_data['TotalSF'] = all_data['TotalBsmtSF'] + all_data['1stFlrSF'] + all_data['2ndFlrSF']\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "91c73aad-82d1-4301-b540-b2f69dc13902",
    "_execution_state": "idle",
    "_uuid": "aa36d6e3253e354b46d9c9c6f2e8a4089c76be16"
   },
   "source": [
    "**Skewed features**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "_cell_guid": "c5972a73-7e86-4164-a9d6-58432dae1933",
    "_execution_state": "idle",
    "_uuid": "53c471c7008c66590f257e70866f8a3037813f13",
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Skew in numerical features: \n",
      "\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Skew</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>MiscVal</th>\n",
       "      <td>21.940</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>PoolArea</th>\n",
       "      <td>17.689</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>LotArea</th>\n",
       "      <td>13.109</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>LowQualFinSF</th>\n",
       "      <td>12.085</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3SsnPorch</th>\n",
       "      <td>11.372</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>LandSlope</th>\n",
       "      <td>4.973</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>KitchenAbvGr</th>\n",
       "      <td>4.301</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>BsmtFinSF2</th>\n",
       "      <td>4.145</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>EnclosedPorch</th>\n",
       "      <td>4.002</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ScreenPorch</th>\n",
       "      <td>3.945</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                Skew\n",
       "MiscVal       21.940\n",
       "PoolArea      17.689\n",
       "LotArea       13.109\n",
       "LowQualFinSF  12.085\n",
       "3SsnPorch     11.372\n",
       "LandSlope      4.973\n",
       "KitchenAbvGr   4.301\n",
       "BsmtFinSF2     4.145\n",
       "EnclosedPorch  4.002\n",
       "ScreenPorch    3.945"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "numeric_feats = all_data.dtypes[all_data.dtypes != \"object\"].index\n",
    "\n",
    "# Check the skew of all numerical features\n",
    "skewed_feats = all_data[numeric_feats].apply(lambda x: skew(x.dropna())).sort_values(ascending=False)\n",
    "print(\"\\nSkew in numerical features: \\n\")\n",
    "skewness = pd.DataFrame({'Skew' :skewed_feats})\n",
    "skewness.head(10)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "9f110087-b707-4073-a1df-0a0a9d6ccbd3",
    "_execution_state": "idle",
    "_uuid": "cf63bdc9f4f80d81f1bfa14f89d65ff104d45e5b"
   },
   "source": [
    "**Box Cox Transformation of (highly) skewed features**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "d1d18243-42d8-4a21-808d-784c21e53973",
    "_execution_state": "idle",
    "_uuid": "eab0b4c0a85ae2fbe1bdeea0eedd113904ef3eb1"
   },
   "source": [
    "We use the scipy  function boxcox1p which computes the Box-Cox transformation of **\\\\(1 + x\\\\)**. \n",
    "\n",
    "Note that setting \\\\( \\lambda = 0 \\\\) is equivalent to log1p used above for the target variable.  \n",
    "\n",
    "See [this page][1] for more details on Box Cox Transformation as well as [the scipy function's page][2]\n",
    "[1]: http://onlinestatbook.com/2/transformations/box-cox.html\n",
    "[2]: https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.special.boxcox1p.html"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "_cell_guid": "d8ebce87-c55d-46c6-8f06-8b34116d7370",
    "_execution_state": "idle",
    "_uuid": "969fdff338ef46f064d8f855782c96d322a264b1",
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "There are 59 skewed numerical features to Box Cox transform\n"
     ]
    }
   ],
   "source": [
    "skewness = skewness[abs(skewness) > 0.75]\n",
    "print(\"There are {} skewed numerical features to Box Cox transform\".format(skewness.shape[0]))\n",
    "\n",
    "from scipy.special import boxcox1p\n",
    "skewed_features = skewness.index\n",
    "lam = 0.15\n",
    "for feat in skewed_features:\n",
    "    #all_data[feat] += 1\n",
    "    all_data[feat] = boxcox1p(all_data[feat], lam)\n",
    "    \n",
    "#all_data[skewed_features] = np.log1p(all_data[skewed_features])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "39639caf-31a4-4401-a663-0ba9536b39bf",
    "_execution_state": "idle",
    "_uuid": "5a13a6e2a3e48975de9129d1593bd38df44a1069"
   },
   "source": [
    "**Getting dummy categorical features**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "_cell_guid": "c8e63516-e4e2-4f36-a60e-1c8316392c60",
    "_execution_state": "idle",
    "_uuid": "acd44e283867425257ffd1fb2f4893cdbff43f67",
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(2917, 220)\n"
     ]
    }
   ],
   "source": [
    "\n",
    "all_data = pd.get_dummies(all_data)\n",
    "print(all_data.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "243cf047-c2ba-4ae5-a531-22ef9b7cfbfe",
    "_execution_state": "idle",
    "_uuid": "fe9d78c7e37142ee8089826eca3065e0fa5803c1"
   },
   "source": [
    "Getting the new train and test sets. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "_cell_guid": "0a75646f-1974-40ad-a085-ff7bc08454a5",
    "_execution_state": "idle",
    "_uuid": "89e464095544a53177d5a009b914ba4c660072a7",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "train = all_data[:ntrain]\n",
    "test = all_data[ntrain:]\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "461af83d-a928-4645-8512-5e4dbcaf7be0",
    "_execution_state": "idle",
    "_uuid": "10aab4cee97832560e2627a490e01e80c0ffb814"
   },
   "source": [
    "#Modelling"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "811925a6-341f-4cae-89c9-00983868a6b2",
    "_execution_state": "idle",
    "_uuid": "be4e4b315682b26359eba1ba3d65022aca9501e1"
   },
   "source": [
    "**Import librairies**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "_cell_guid": "135e8ac5-ce46-4a5f-b205-13f827ef33b8",
    "_execution_state": "idle",
    "_uuid": "fc664fbe27561a3697d0210921107b0e14b7d211",
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from sklearn.linear_model import ElasticNet, Lasso,  BayesianRidge, LassoLarsIC\n",
    "from sklearn.ensemble import RandomForestRegressor,  GradientBoostingRegressor\n",
    "from sklearn.kernel_ridge import KernelRidge\n",
    "from sklearn.pipeline import make_pipeline\n",
    "from sklearn.preprocessing import RobustScaler\n",
    "from sklearn.base import BaseEstimator, TransformerMixin, RegressorMixin, clone\n",
    "from sklearn.model_selection import KFold, cross_val_score, train_test_split\n",
    "from sklearn.metrics import mean_squared_error\n",
    "import xgboost as xgb\n",
    "# import lightgbm as lgb\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "7aa6ebb9-27a7-4bd3-a7b2-4ddc6a0abbed",
    "_execution_state": "idle",
    "_uuid": "056b657c8f0de30d4708c600eabbb33684c64479"
   },
   "source": [
    "**Define a cross validation strategy**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "4a2b5181-44f2-4c74-b482-aae0f5afc25a",
    "_execution_state": "idle",
    "_uuid": "dc0d7a3013f349988b3f2c84a6c130d6ad350170"
   },
   "source": [
    "We use the **cross_val_score** function of Sklearn. However this function has not a shuffle attribut, we add then one line of code,  in order to shuffle the dataset  prior to cross-validation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "_cell_guid": "f396260b-e182-4a87-9a2a-b92b9375ea6f",
    "_execution_state": "idle",
    "_uuid": "5c12551d092a6c5cf32d86398b054da7af3047b8",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#Validation function\n",
    "n_folds = 5\n",
    "\n",
    "def rmsle_cv(model):\n",
    "    kf = KFold(n_folds, shuffle=True, random_state=42).get_n_splits(train.values)\n",
    "    rmse= np.sqrt(-cross_val_score(model, train.values, y_train, scoring=\"neg_mean_squared_error\", cv = kf))\n",
    "    return(rmse)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "42e1565e-77a1-41a7-ac31-893e405d34ad",
    "_execution_state": "busy",
    "_uuid": "643ae2c4a88576ebbd55824ce8e654486087a6e0"
   },
   "source": [
    "##Base models"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "578f088d-1a84-41cb-b945-ec64800f2308",
    "_execution_state": "idle",
    "_uuid": "370125198a0cbbc9336cbf179f00a2ebb02cb063"
   },
   "source": [
    "-  **LASSO  Regression**  : \n",
    "\n",
    "This model may be very sensitive to outliers. So we need to made it more robust on them. For that we use the sklearn's  **Robustscaler()**  method on pipeline "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "_cell_guid": "03f45cb7-0a40-45ea-94e8-64fd7ff1e8f6",
    "_execution_state": "idle",
    "_uuid": "2a50c954cb771d350c3092c3658486ba4d22aba5",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "lasso = make_pipeline(RobustScaler(), Lasso(alpha =0.0005, random_state=1))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "2c826f7b-ac66-421c-a7ae-29dfdd765bdb",
    "_execution_state": "idle",
    "_uuid": "30e9756cf63991715b48e8c53bc57906fc76f380"
   },
   "source": [
    "- **Elastic Net Regression** :\n",
    "\n",
    "again made robust to outliers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "_cell_guid": "e635cc7e-caeb-4f8b-ae78-c41f8eb0be59",
    "_execution_state": "idle",
    "_uuid": "b614cf1bdee86a3b1cbdde05298f9f7ae023799b",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "ENet = make_pipeline(RobustScaler(), ElasticNet(alpha=0.0005, l1_ratio=.9, random_state=3))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "7aae5316-4e32-4203-bff5-3b38c1f657c3",
    "_execution_state": "idle",
    "_uuid": "0775061bb477242f1332a048778e879ca540a216"
   },
   "source": [
    "- **Kernel Ridge Regression** :"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {
    "_cell_guid": "805343d9-0af6-43a2-a351-c0b25c62fcf0",
    "_execution_state": "idle",
    "_uuid": "3199c83513d93407c818ce1ed43c6c52e7f5a8c6",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "KRR = KernelRidge(alpha=0.6, kernel='polynomial', degree=2, coef0=2.5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "5a66c27c-be80-4ec0-8953-eaeb2a7dd2e7",
    "_execution_state": "idle",
    "_uuid": "14b60a7e4296cccb39042c9c625a1480d59a01c1"
   },
   "source": [
    "- **Gradient Boosting Regression** :\n",
    "\n",
    "With **huber**  loss that makes it robust to outliers\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {
    "_cell_guid": "af13332c-fd37-40bb-a078-6bad6caaa2ab",
    "_execution_state": "idle",
    "_uuid": "9a983f0f62a0dde7689b20a8e52022bb189478b4",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "GBoost = GradientBoostingRegressor(n_estimators=3000, learning_rate=0.05,\n",
    "                                   max_depth=4, max_features='sqrt',\n",
    "                                   min_samples_leaf=15, min_samples_split=10, \n",
    "                                   loss='huber', random_state =5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "d44ac87e-bf01-440b-ab22-b2868eb6ae48",
    "_execution_state": "idle",
    "_uuid": "53d7991f7dd03fcd7fb5ab1ec26fcd0614d002d3"
   },
   "source": [
    "- **XGBoost** :"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {
    "_cell_guid": "ed738a4c-c246-443c-a3c1-39df25f988b7",
    "_execution_state": "idle",
    "_uuid": "57c24b596ceb46d6f32ebf9501d672d7e469c15b",
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "model_xgb = xgb.XGBRegressor(colsample_bytree=0.4603, gamma=0.0468, \n",
    "                             learning_rate=0.05, max_depth=3, \n",
    "                             min_child_weight=1.7817, n_estimators=2200,\n",
    "                             reg_alpha=0.4640, reg_lambda=0.8571,\n",
    "                             subsample=0.5213, silent=1,\n",
    "                             nthread = -1)\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "a43ca74d-093c-4a56-a76c-b3223bf82fbc",
    "_execution_state": "idle",
    "_uuid": "460f3ccf7d5c33ea9f8a826bbf056d759e7b5119"
   },
   "source": [
    "- **LightGBM** :"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {
    "_cell_guid": "dd84d7db-3f83-4e4e-b02f-7632ca5ee4ac",
    "_execution_state": "idle",
    "_uuid": "4c94cf90f0ef0d350c5e66f3bd397865bfcc61ae",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# model_lgb = lgb.LGBMRegressor(objective='regression',num_leaves=5,\n",
    "#                               learning_rate=0.05, n_estimators=720,\n",
    "#                            max_bin = 55, bagging_fraction = 0.8,\n",
    "#                               bagging_freq = 5, feature_fraction = 0.2319,\n",
    "#                               feature_fraction_seed=9, bagging_seed=9,\n",
    "#                               min_data_in_leaf =6, min_sum_hessian_in_leaf = 11)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "9e1eff6a-e937-45e4-96ef-41593e31e1bb",
    "_execution_state": "idle",
    "_uuid": "71bce529300e2f3d9f9f475d01bd7001258dbede"
   },
   "source": [
    "###Base models scores"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "84ddecce-7671-44e5-919d-97348bf413f4",
    "_execution_state": "idle",
    "_uuid": "cae4987b8ec89e90a90d7826c4ec98d315cac00b"
   },
   "source": [
    "Let's see how these base models perform on the data by evaluating the  cross-validation rmsle error"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {
    "_cell_guid": "2d0cc958-1654-425c-90ed-1ceb9edd7186",
    "_execution_state": "idle",
    "_uuid": "7d994349237b9304b0d17719e1af077e69288229",
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Lasso score: 0.1115 (0.0074)\n",
      "\n"
     ]
    }
   ],
   "source": [
    "score = rmsle_cv(lasso)\n",
    "print(\"\\nLasso score: {:.4f} ({:.4f})\\n\".format(score.mean(), score.std()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {
    "_cell_guid": "7cf6faaf-d69a-4268-b192-a9e60d207c28",
    "_execution_state": "idle",
    "_uuid": "b6d299b9d4a0cdb23ddd8459b3935da2948016d6",
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ElasticNet score: 0.1116 (0.0074)\n",
      "\n"
     ]
    }
   ],
   "source": [
    "score = rmsle_cv(ENet)\n",
    "print(\"ElasticNet score: {:.4f} ({:.4f})\\n\".format(score.mean(), score.std()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {
    "_cell_guid": "a1195106-2170-47f2-86a7-c4f3be683aa8",
    "_execution_state": "idle",
    "_uuid": "437dc093e88d661a369539520af1b4c37d1a0c1a",
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Kernel Ridge score: 0.1153 (0.0075)\n",
      "\n"
     ]
    }
   ],
   "source": [
    "score = rmsle_cv(KRR)\n",
    "print(\"Kernel Ridge score: {:.4f} ({:.4f})\\n\".format(score.mean(), score.std()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {
    "_cell_guid": "43dd152f-7c49-41b6-8f8e-a5864b1e2a71",
    "_execution_state": "idle",
    "_uuid": "e9d8c4bd191f77d8d275f53c0c1a6cf344151294",
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Gradient Boosting score: 0.1177 (0.0080)\n",
      "\n"
     ]
    }
   ],
   "source": [
    "score = rmsle_cv(GBoost)\n",
    "print(\"Gradient Boosting score: {:.4f} ({:.4f})\\n\".format(score.mean(), score.std()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {
    "_cell_guid": "30738ecc-39f8-44ed-9f42-68518beb7e6a",
    "_execution_state": "idle",
    "_uuid": "5f52ccf39d01165e61a7c6be8b788be4e58e286b",
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Xgboost score: 0.1160 (0.0060)\n",
      "\n"
     ]
    }
   ],
   "source": [
    "\n",
    "score = rmsle_cv(model_xgb)\n",
    "print(\"Xgboost score: {:.4f} ({:.4f})\\n\".format(score.mean(), score.std()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {
    "_cell_guid": "41e0eab9-630d-48d3-905b-e4663aad2262",
    "_execution_state": "idle",
    "_uuid": "5cd5377ee097fbc6fd14b42b4ea654221b097e59",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# score = rmsle_cv(model_lgb)\n",
    "# print(\"LGBM score: {:.4f} ({:.4f})\\n\" .format(score.mean(), score.std()))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "1114bc71-7eb5-4a7c-97a1-42a69cc21130",
    "_execution_state": "idle",
    "_uuid": "06d3adc16585b54a85113882975297c67672ea07"
   },
   "source": [
    "##Stacking  models"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "56746043-0d77-4687-a8f2-ae494efae3a8",
    "_execution_state": "idle",
    "_uuid": "2410d2172ddc108475db49214c52c21e66aeee59"
   },
   "source": [
    "###Simplest Stacking approach : Averaging base models"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "96d5979d-73ba-4810-bee2-e1a7a8de57f6",
    "_execution_state": "idle",
    "_uuid": "c6e3a67facbc786ddec2f56b40b4da37726d1be5"
   },
   "source": [
    "We begin with this simple approach of averaging base models.  We build a new **class**  to extend scikit-learn with our model and also to laverage encapsulation and code reuse ([inheritance][1]) \n",
    "\n",
    "\n",
    "  [1]: https://en.wikipedia.org/wiki/Inheritance_(object-oriented_programming)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "d0145496-896a-44e3-b01b-e12546328f06",
    "_execution_state": "idle",
    "_uuid": "5ecc887f1ab4001c872862cecf3a0b350ac51a23"
   },
   "source": [
    "**Averaged base models class**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "_cell_guid": "49e44ad6-8dc4-4a67-8079-adbac934fec4",
    "_execution_state": "idle",
    "_uuid": "ff3ee5889bcac40847909c3a71285d2b8f9d431f",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "class AveragingModels(BaseEstimator, RegressorMixin, TransformerMixin):\n",
    "    def __init__(self, models):\n",
    "        self.models = models\n",
    "        \n",
    "    # we define clones of the original models to fit the data in\n",
    "    def fit(self, X, y):\n",
    "        self.models_ = [clone(x) for x in self.models]\n",
    "        \n",
    "        # Train cloned base models\n",
    "        for model in self.models_:\n",
    "            model.fit(X, y)\n",
    "\n",
    "        return self\n",
    "    \n",
    "    #Now we do the predictions for cloned models and average them\n",
    "    def predict(self, X):\n",
    "        predictions = np.column_stack([\n",
    "            model.predict(X) for model in self.models_\n",
    "        ])\n",
    "        return np.mean(predictions, axis=1)   "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "825eb99f-d509-4203-b0c6-4ff77f696322",
    "_execution_state": "idle",
    "_uuid": "f05bf966ea7a7b5e6f8ca5d641ebd11281d54d0d"
   },
   "source": [
    "**Averaged base models score**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "18209a57-f46d-4ce7-8331-834f419c57f2",
    "_execution_state": "idle",
    "_uuid": "b66ef29c829b7122a2e8e2d187211039570973ac"
   },
   "source": [
    "We just average four models here **ENet, GBoost,  KRR and lasso**.  Of course we could easily add more models in the mix. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "_cell_guid": "d480916f-89e7-4bcc-9b9d-b54492591654",
    "_execution_state": "idle",
    "_uuid": "81ce9e148b7e735f465b4b6508511dea44fbf791",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "averaged_models = AveragingModels(models = (ENet, GBoost, KRR, lasso))\n",
    "\n",
    "score = rmsle_cv(averaged_models)\n",
    "print(\" Averaged base models score: {:.4f} ({:.4f})\\n\".format(score.mean(), score.std()))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "588f9fd2-0c5e-43cd-8a0a-0271f2468ef7",
    "_execution_state": "idle",
    "_uuid": "421c03673969c6a2dd2253f9d4c503ab1276b105"
   },
   "source": [
    "Wow ! It seems even the simplest stacking approach really improve the score . This encourages \n",
    "us to go further and explore a less simple stacking approch. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "387761c7-9dc5-41aa-8cda-5315b6a72fbf",
    "_execution_state": "idle",
    "_uuid": "01b68302f0ec3af42a70794bc339bf5956ab2569"
   },
   "source": [
    "###Less simple Stacking : Adding a Meta-model"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "cb18e314-968d-4765-942a-5706d0f4f815",
    "_execution_state": "idle",
    "_uuid": "69f216ce13eb61f0d07403986a2d38b11e18ae6a"
   },
   "source": [
    "In this approach, we add a meta-model on averaged base models and use the out-of-folds predictions of these base models to train our meta-model. \n",
    "\n",
    "The procedure, for the training part, may be described as follows:\n",
    "\n",
    "\n",
    "1. Split the total training set into two disjoint sets (here **train** and .**holdout** )\n",
    "\n",
    "2. Train several base models on the first part (**train**)\n",
    "\n",
    "3. Test these base models on the second part (**holdout**)\n",
    "\n",
    "4. Use the predictions from 3)  (called  out-of-folds predictions) as the inputs, and the correct responses (target variable) as the outputs  to train a higher level learner called **meta-model**.\n",
    "\n",
    "The first three steps are done iteratively . If we take for example a 5-fold stacking , we first split the training data into 5 folds. Then we will do 5 iterations. In each iteration,  we train every base model on 4 folds and predict on the remaining fold (holdout fold). \n",
    "\n",
    "So, we will be sure, after 5 iterations , that the entire data is used to get out-of-folds predictions that we will then use as \n",
    "new feature to train our meta-model in the step 4.\n",
    "\n",
    "For the prediction part , We average the predictions of  all base models on the test data  and used them as **meta-features**  on which, the final prediction is done with the meta-model.\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "7a1d4b95-ad19-4522-8459-99f0839a49bb",
    "_uuid": "5e232cc0edea67af1fc672ee07a93c435e7e2f98"
   },
   "source": [
    "![Faron](http://i.imgur.com/QBuDOjs.jpg)\n",
    "\n",
    "(Image taken from [Faron](https://www.kaggle.com/getting-started/18153#post103381))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "9e3f01cb-cd76-4861-81c0-775c613f7d7f",
    "_uuid": "7c4d68ee6e6dffdf0b816bee48fd55b29bd66386"
   },
   "source": [
    "![kaz](http://5047-presscdn.pagely.netdna-cdn.com/wp-content/uploads/2017/06/image5.gif)\n",
    "\n",
    "Gif taken from [KazAnova's interview](http://blog.kaggle.com/2017/06/15/stacking-made-easy-an-introduction-to-stacknet-by-competitions-grandmaster-marios-michailidis-kazanova/)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "b9ca03ee-0377-4313-a236-59d3d972cac3",
    "_uuid": "a46c5bab3855a4728c52765379c1674de3123a25"
   },
   "source": [
    "On this gif, the base models are algorithms 0, 1, 2 and the meta-model is algorithm 3. The entire training dataset is \n",
    "A+B (target variable y known) that we can split into train part (A) and holdout part (B). And the test dataset is C. \n",
    "\n",
    "B1 (which is the prediction from the holdout part)  is the new feature used to train the meta-model 3 and C1 (which\n",
    "is the prediction  from the test dataset) is the meta-feature on which the final prediction is done. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "bd10661e-6eec-4789-83fa-d55b77619252",
    "_execution_state": "idle",
    "_uuid": "5374a729325ac38423ff82891f1cc887f14ba317"
   },
   "source": [
    "**Stacking averaged Models Class**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "_cell_guid": "03326750-2442-4e14-8774-6e2ce9330173",
    "_execution_state": "idle",
    "_uuid": "9115cf7180ba9491bd0a2c5bd566e18238c9de80",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "class StackingAveragedModels(BaseEstimator, RegressorMixin, TransformerMixin):\n",
    "    def __init__(self, base_models, meta_model, n_folds=5):\n",
    "        self.base_models = base_models\n",
    "        self.meta_model = meta_model\n",
    "        self.n_folds = n_folds\n",
    "   \n",
    "    # We again fit the data on clones of the original models\n",
    "    def fit(self, X, y):\n",
    "        self.base_models_ = [list() for x in self.base_models]\n",
    "        self.meta_model_ = clone(self.meta_model)\n",
    "        kfold = KFold(n_splits=self.n_folds, shuffle=True, random_state=156)\n",
    "        \n",
    "        # Train cloned base models then create out-of-fold predictions\n",
    "        # that are needed to train the cloned meta-model\n",
    "        out_of_fold_predictions = np.zeros((X.shape[0], len(self.base_models)))\n",
    "        for i, model in enumerate(self.base_models):\n",
    "            for train_index, holdout_index in kfold.split(X, y):\n",
    "                instance = clone(model)\n",
    "                self.base_models_[i].append(instance)\n",
    "                instance.fit(X[train_index], y[train_index])\n",
    "                y_pred = instance.predict(X[holdout_index])\n",
    "                out_of_fold_predictions[holdout_index, i] = y_pred\n",
    "                \n",
    "        # Now train the cloned  meta-model using the out-of-fold predictions as new feature\n",
    "        self.meta_model_.fit(out_of_fold_predictions, y)\n",
    "        return self\n",
    "   \n",
    "    #Do the predictions of all base models on the test data and use the averaged predictions as \n",
    "    #meta-features for the final prediction which is done by the meta-model\n",
    "    def predict(self, X):\n",
    "        meta_features = np.column_stack([\n",
    "            np.column_stack([model.predict(X) for model in base_models]).mean(axis=1)\n",
    "            for base_models in self.base_models_ ])\n",
    "        return self.meta_model_.predict(meta_features)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "da4c9354-b5c2-4994-8ffd-550416a5c4db",
    "_execution_state": "idle",
    "_uuid": "5fdbcf5c678b260adf80cf39b0f3bb63a26213e1"
   },
   "source": [
    "**Stacking Averaged models Score**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "03abed3d-205c-411d-89de-b566b7f1f708",
    "_execution_state": "idle",
    "_uuid": "10fdbde25e455566637627554269adff7dfec193"
   },
   "source": [
    "To make the two approaches comparable (by using the same number of models) , we just average **Enet KRR and Gboost**, then we add **lasso as meta-model**."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "_cell_guid": "4db03a27-e9fb-484d-bbfe-2058f16dce77",
    "_execution_state": "idle",
    "_uuid": "f2c78b5950097660d3f8b84bade8d8dbdc3964f2",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "stacked_averaged_models = StackingAveragedModels(base_models = (ENet, GBoost, KRR),\n",
    "                                                 meta_model = lasso)\n",
    "\n",
    "score = rmsle_cv(stacked_averaged_models)\n",
    "print(\"Stacking Averaged models score: {:.4f} ({:.4f})\".format(score.mean(), score.std()))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "61f0f9af-9264-4945-829a-c629ed6a3299",
    "_execution_state": "idle",
    "_uuid": "0ca396a31059f16aff47e0d53d011865634e101e"
   },
   "source": [
    "We get again a better score by adding a meta learner"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "1cc6527c-4705-4895-992f-0c3755b27cee",
    "_execution_state": "idle",
    "_uuid": "75e8303614ea910f93056a8bdc4cd9cfe62ecd46"
   },
   "source": [
    "## Ensembling StackedRegressor, XGBoost and LightGBM"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "15f8fed4-bbf8-4eca-b400-8ea194010c78",
    "_execution_state": "idle",
    "_uuid": "5835af97aef41c60ea448988c606cd6a1f451712"
   },
   "source": [
    "We add **XGBoost and LightGBM** to the** StackedRegressor** defined previously. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "5ab5b13e-78c1-49be-9bcb-e54a6bf119d7",
    "_execution_state": "idle",
    "_uuid": "9015eddf85323209a7729420affecb9940bdd7d3"
   },
   "source": [
    "We first define a rmsle evaluation function "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "_cell_guid": "232c3959-c6e1-4535-8ad4-62892edc3f06",
    "_execution_state": "idle",
    "_uuid": "07f9ef433905b61a08a36790254d6a34661f0653",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def rmsle(y, y_pred):\n",
    "    return np.sqrt(mean_squared_error(y, y_pred))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "999a8cc6-5083-4fca-bc90-616ac2f3ef8b",
    "_execution_state": "idle",
    "_uuid": "b7b74b70e6514b7623bc67cfec2b4f5d37c98707"
   },
   "source": [
    "###Final Training and Prediction"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "717b4b02-8bcf-4df3-8994-f6a113110115",
    "_execution_state": "idle",
    "_uuid": "115d9e90a84c33213f0f0de7d86b6098f29ca7d8"
   },
   "source": [
    "**StackedRegressor:**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "_cell_guid": "e64b2750-1e32-4e91-affb-e583d6ca8722",
    "_execution_state": "busy",
    "_uuid": "8936479533c4bb147ab09f1d2133d8bacbf9afc1",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "stacked_averaged_models.fit(train.values, y_train)\n",
    "stacked_train_pred = stacked_averaged_models.predict(train.values)\n",
    "stacked_pred = np.expm1(stacked_averaged_models.predict(test.values))\n",
    "print(rmsle(y_train, stacked_train_pred))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "6c322757-44c0-4c81-a319-1aa6ccdf440f",
    "_execution_state": "idle",
    "_uuid": "06a0eafc07a8dae002f3fc1499849ebf7ec014be"
   },
   "source": [
    "**XGBoost:**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "_cell_guid": "2af45055-47aa-4e26-84df-ba5726bdff54",
    "_execution_state": "idle",
    "_uuid": "c80de2558910e4091f087a99bfcb202f01033ad7",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "model_xgb.fit(train, y_train)\n",
    "xgb_train_pred = model_xgb.predict(train)\n",
    "xgb_pred = np.expm1(model_xgb.predict(test))\n",
    "print(rmsle(y_train, xgb_train_pred))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "22b2b135-2af8-4dbb-a8f0-1fcd7f745a66",
    "_execution_state": "idle",
    "_uuid": "b6d1cdcc2bfc08d0eb58135878008e6d64987089"
   },
   "source": [
    "**LightGBM:**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "_cell_guid": "995d4c8e-db72-4370-a1ec-50e0c761f09a",
    "_execution_state": "idle",
    "_uuid": "65398376dca67e2aa78576108a0bb8160031c111",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# model_lgb.fit(train, y_train)\n",
    "# lgb_train_pred = model_lgb.predict(train)\n",
    "# lgb_pred = np.expm1(model_lgb.predict(test.values))\n",
    "# print(rmsle(y_train, lgb_train_pred))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "_cell_guid": "619452b2-c395-48fe-81ab-d6b1d355236b",
    "_execution_state": "idle",
    "_uuid": "07500cf506f6a90c6439c2dabf81ab966cf1c792",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "'''RMSE on the entire Train data when averaging'''\n",
    "\n",
    "print('RMSLE score on train data:')\n",
    "print(rmsle(y_train,stacked_train_pred*0.8 +\n",
    "               xgb_train_pred*0.2 ))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "844b5e21-7bd2-4a2b-9f7a-2e755ed06ecb",
    "_execution_state": "idle",
    "_uuid": "59443e95f66cb9e595cff9a3666824299239126b"
   },
   "source": [
    "**Ensemble prediction:**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "_cell_guid": "3ec2c58f-6bee-46a6-a263-1fe2cf3569cb",
    "_execution_state": "idle",
    "_uuid": "18996472b775bd9114fea7f08c8a554d4dafe774",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "ensemble = stacked_pred*0.8 + xgb_pred*0.2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "434ca649-2fa0-46a5-ab29-7f403448ddf7",
    "_execution_state": "idle",
    "_uuid": "c9f02561da543f4901dcd2051acbd6c197108dd5"
   },
   "source": [
    "**Submission**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "_cell_guid": "3db46af9-e18a-43bb-9699-45b851f835e5",
    "_execution_state": "idle",
    "_uuid": "93f6915cf25c7bb6b6fa6e74ad7b853387ac1db5",
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "sub = pd.DataFrame()\n",
    "sub['Id'] = test_ID\n",
    "sub['SalePrice'] = ensemble\n",
    "sub.to_csv('submission.csv',index=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "_cell_guid": "a35b0fbc-5235-4463-a86f-526a32b86956",
    "_execution_state": "idle",
    "_uuid": "8a08ae030e55075f00e4f5d9354610c9b88c4c24"
   },
   "source": [
    "**If you found this notebook helpful or you just liked it , some upvotes would be very much appreciated -  That will keep me motivated to update it on a regular basis** :-)"
   ]
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python [default]",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.13"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
